def vcf(ctx, vcf_file): """Import VCF Card""" config = ctx.obj['config'] directory = Directory(config.path('data:path', 'directory.json')) vcf = VCFParser(photo_dir=config.path('data:path', 'photos')) data = vcf.parse(vcf_file) print("----- %s - %s -----" % (data['last_name'], data['address'])) family = directory.get(data['last_name']) family = Prompt.choose_from_list(family, "Which Family") if family: person = family.get(data['name']) if person: print("%s already exists." % (data['name'])) else: new_person = Person(**data) family.add(new_person) directory.save() else: new_family = Family(name=data['last_name'], address=data['address'], city=data['city'], state=data['state'], zip=data['zip'], members=[data]) directory.add(new_family) directory.save()
def main(): names = [] user = User() client = gdata.spreadsheet.service.SpreadsheetsService() client.ClientLogin(user.email, user.ticket) # Spreadsheets feed = client.GetSpreadsheetsFeed() logging.info(feed) id_parts = feed.entry[0].id.text.split('/') spreadsheet = id_parts[len(id_parts) - 1] # Worksheets within the Spreadsheet wsFeed = client.GetWorksheetsFeed(spreadsheet) id_parts = wsFeed.entry[0].id.text.split('/') worksheet = id_parts[len(id_parts) - 1] # Get cell data feed = client.GetCellsFeed(spreadsheet, worksheet) directory = Directory() for entry in feed.entry: # Only pull data from the 'Name' column ('A' column) if entry.title.text[0] == 'A': person = entry.content.text.strip() directory.add(person)
def add(ctx, name): """ Add a new Family to the Directory """ directory = Directory(ctx.obj['config'].path('data:path', 'directory.json')) family_data = Family(name=name).to_json() fields = sorted(family_data.keys()) print("----- Adding the '%s' Family -----" % (family_data['name'])) for name in fields: if name in ('id', 'name', 'members'): continue new_value = Prompt.input("%s: " % (name)) family_data[name] = new_value if new_value else "" new_family = Family(**family_data) print(new_family) directory.add(new_family) __add_members(new_family) directory.save()