summaryrefslogtreecommitdiffstats
path: root/fedora_business_cards/frontend.py
diff options
context:
space:
mode:
Diffstat (limited to 'fedora_business_cards/frontend.py')
-rw-r--r--fedora_business_cards/frontend.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/fedora_business_cards/frontend.py b/fedora_business_cards/frontend.py
index 59ce189..fe4b809 100644
--- a/fedora_business_cards/frontend.py
+++ b/fedora_business_cards/frontend.py
@@ -31,6 +31,11 @@ from getpass import getpass
import config
import information
+
+def cmdline_card_line(data):
+ return "| %s%s |" % (data, ' '*(59-len(data)))
+
+
def cmdline():
"""
Command-line interface to business card generator. Takes no arguments; uses
@@ -87,3 +92,52 @@ def cmdline():
if options.username == "":
options.username = username
infodict = information.get_information(username, password, options.username)
+ # setup default content
+ name = infodict['name']
+ title = infodict['title']
+ if infodict['gpgid'] == None:
+ gpg = ''
+ else:
+ gpg = "GPG key ID: %s" % infodict['gpgid']
+ if infodict['irc'] == None:
+ lines = [infodict['email'],
+ infodict['phone'],
+ infodict['url'],
+ '',
+ gpg,
+ '']
+ else:
+ lines = [infodict['email'],
+ infodict['phone'],
+ infodict['irc']+" on irc.freenode.net",
+ infodict['url'],
+ '',
+ "GPG key ID: "+infodict['gpgid']]
+ done_editing = False
+ while not done_editing:
+ print "Current business card layout:"
+ print " +"+"-"*61+"+"
+ print " n "+cmdline_card_line(name)
+ print " t "+cmdline_card_line(title)
+ print " "+cmdline_card_line('')
+ for i in range(6):
+ print (" %i " % i)+cmdline_card_line(lines[i])
+ print " "+cmdline_card_line('')
+ print " "+cmdline_card_line('')
+ print " "+cmdline_card_line('fedora'+' '*17+\
+ 'freedom | friends | features | first')
+ print " +"+"-"*61+"+"
+ print "Enter a line number to edit, or [y] to accept:",
+ lineno = raw_input()
+ if lineno == "" or lineno == "y":
+ done_editing = True
+ else:
+ print ("Enter new data for line %s:" % lineno),
+ newdata = raw_input()
+ if lineno == 'n':
+ name = newdata
+ elif lineno == 't':
+ title = newdata
+ elif lineno == '0' or lineno == '1' or lineno == '2' or \
+ lineno == '3' or lineno == '4' or lineno == '5':
+ lines[int(lineno)] = newdata