summaryrefslogtreecommitdiff
path: root/namer
diff options
context:
space:
mode:
authorLars Wirzenius <lars.wirzenius@codethink.co.uk>2012-04-12 18:17:10 +0100
committerLars Wirzenius <lars.wirzenius@codethink.co.uk>2012-04-12 18:17:10 +0100
commit81a26ed2473451a8d476318c74b64f82eaccf9b0 (patch)
treefad3f3fbb77d1fab0e3a58d47c70c64f64296d85 /namer
downloadnamer-81a26ed2473451a8d476318c74b64f82eaccf9b0.tar.gz
Initial import
Diffstat (limited to 'namer')
-rwxr-xr-xnamer45
1 files changed, 45 insertions, 0 deletions
diff --git a/namer b/namer
new file mode 100755
index 0000000..6d0f50e
--- /dev/null
+++ b/namer
@@ -0,0 +1,45 @@
+#!/usr/bin/python
+# Copyright (C) 2012 Codethink Limited
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+
+import cliapp
+import random
+
+
+class Namer(cliapp.Application):
+
+ def add_settings(self):
+ self.settings.string(['adjectives', 'a'], 'file with adjectives',
+ default='adjectives.txt')
+ self.settings.string(['nouns', 'n'], 'file with nouns',
+ default='nouns.txt')
+ self.settings.integer(['count', 'c'], 'how many names?', default=1)
+
+ def process_args(self, args):
+ adjectives = self.read_words(self.settings['adjectives'])
+ nouns = self.read_words(self.settings['nouns'])
+
+ for i in range(self.settings['count']):
+ a = random.choice(adjectives)
+ n = random.choice(nouns)
+ self.output.write('%s %s\n' % (a, n))
+
+ def read_words(self, filename):
+ with open(filename) as f:
+ return [x.strip() for x in f.readlines() if x.strip()]
+
+
+Namer().run()