def writeKeywords(filename, dDict): ''' output keywords in Commons format ''' # set-up header = u'{{user:Lokal Profil/LSH2|category=}}\n' row = u'{{User:Lokal Profil/LSH3\n' \ u'|name = %s\n' \ u'|more = %s\n' \ u'|frequency = %d\n' \ u'|category = %s\n' \ u'}}\n' footer = u'|}\n' intro = u'<!--From: %s -->\n' % CSV_FILES[u'stichwort'] \ + u'Set commonsconnection of irrelevant keywords to "-"\n\n' \ + u'Multiple categories are separated by "/"\n' \ + u'===Keyword|frequency|description|commonsconnection===\n' # output once = True f = codecs.open(filename, 'w', 'utf8') f.write(intro) f.write(header) for key, val in helpers.sortedBy(dDict): if once and val[u'freq'] == 0: once = False f.write(footer) f.write(u'\n===Preserved mappings===\n') f.write(header) f.write(row % (key, '/'.join(val[u'descr']), val[u'freq'], '/'.join( val[u'cat']))) f.write(footer) f.write(u'\n\n[[%s]]' % LIST_CAT) f.close() output(u'Created %s' % filename)
def writeMaterials(filename, dDict): ''' output materials in Commons format ''' # set-up header = u'{{user:Lokal Profil/LSH2|name=Technique/material|technique=}}\n' row = u'{{User:Lokal Profil/LSH3\n' \ + u'|name = %s\n' \ + u'|frequency = %d\n' \ + u'|technique = %s\n' \ + u'}}\n' footer = u'|}\n' intro = u'<!--From: %s -->\n' % CSV_FILES[u'objMultiple'] \ + u'commonsconnection is the relevant parameter for ' \ + u'{{tl|technique}}. Don\'t forget to add a translation in ' \ + u'Swedish at [[Template:Technique/sv]]\n\n' \ + u'Set commonsconnection of irrelevant technique/material ' \ + u'to "-".\n\n' \ + u'===technique/material|frequency|commonsconnection===\n' # output once = True f = codecs.open(filename, 'w', 'utf8') f.write(intro) f.write(header) for key, val in helpers.sortedBy(dDict): if once and val[u'freq'] == 0: once = False f.write(footer) f.write(u'\n===Preserved mappings===\n') f.write(header) f.write(row % (key, val[u'freq'], '/'.join(val[u'connect']))) f.write(footer) f.write(u'\n\n[[%s]]' % LIST_CAT) f.close() output(u'Created %s' % filename)
def writePhotographers(filename, dDict): ''' output photographers in Commons format ''' # set-up header = u'{{user:Lokal Profil/LSH2|name=Photographer|' \ u'creator=|category=}}\n' row = u'{{User:Lokal Profil/LSH3\n' \ u'|name = %s\n' \ u'|frequency = %d\n' \ u'|creator = %s\n' \ u'|category = %s\n' \ u'}}\n' footer = u'|}\n' intro = u'<!--From: %s -->\n\n' % CSV_FILES[u'photo'] \ + u'===Photographers===\n' # output once = True f = codecs.open(filename, 'w', 'utf8') f.write(intro) f.write(header) for key, val in helpers.sortedBy(dDict): if once and val[u'freq'] == 0: once = False f.write(footer) f.write(u'\n===Preserved mappings===\n') f.write(header) f.write(row % (key, val[u'freq'], val[u'creator'], val[u'cat'])) f.write(footer) f.write(u'\n\n[[%s]]' % LIST_CAT) f.close() output(u'Created %s' % filename)
def writeKeywords(filename, dDict): ''' output keywords in Commons format ''' # set-up header = u'{{user:Lokal Profil/LSH2|category=}}\n' row = u'{{User:Lokal Profil/LSH3\n' \ u'|name = %s\n' \ u'|more = %s\n' \ u'|frequency = %d\n' \ u'|category = %s\n' \ u'}}\n' footer = u'|}\n' intro = u'<!--From: %s -->\n' % CSV_FILES[u'stichwort'] \ + u'Set commonsconnection of irrelevant keywords to "-"\n\n' \ + u'Multiple categories are separated by "/"\n' \ + u'===Keyword|frequency|description|commonsconnection===\n' # output once = True f = codecs.open(filename, 'w', 'utf8') f.write(intro) f.write(header) for key, val in helpers.sortedBy(dDict): if once and val[u'freq'] == 0: once = False f.write(footer) f.write(u'\n===Preserved mappings===\n') f.write(header) f.write(row % (key, '/'.join(val[u'descr']), val[u'freq'], '/'.join(val[u'cat']))) f.write(footer) f.write(u'\n\n[[%s]]' % LIST_CAT) f.close() output(u'Created %s' % filename)
def writePlaces(filename, exhibitPlaces, landDict, ortDict, emptyPlaces): ''' output Places in Commons format ''' # set-up header = u'{{user:Lokal Profil/LSH2|name=Place|' \ u'other=Commons connection}}\n' row = u'{{User:Lokal Profil/LSH3\n' \ u'|name = %s\n' \ u'|frequency = %d\n' \ u'|other = %s\n' \ u'}}\n' footer = u'|}\n' intro = u'<!--From: %s - col: ausOrt-->\n' % CSV_FILES[u'ausstellung'] \ + u'<!--From: %s for OmuTypS = Tillverkningsland -->\n' % CSV_FILES[u'objMultiple'] \ + u'<!--From: %s for OmuTypS = Tillverkningsort-->\n' % CSV_FILES[u'objMultiple'] \ + u'The preffered order of making connections are: Institution, page, category' \ + u'(where the category is prefixed by a ":").\n\n' \ + u'Set commonsconnection of irrelevant places to "-"\n\n' \ + u'===Place|Frequency|Commonsconnection===\n' # output f = codecs.open(filename, 'w', 'utf8') f.write(intro) f.write(u'\n====exhibit places====\n') f.write(header) for key, val in helpers.sortedBy(exhibitPlaces): f.write(row % (key, val[u'freq'], val[u'connect'])) f.write(footer) f.write(u'\n====origin-Countries====\n') f.write(header) for key, val in helpers.sortedBy(landDict): f.write(row % (key, val[u'freq'], val[u'connect'])) f.write(footer) f.write(u'\n====origin-cities====\n') f.write(header) for key, val in helpers.sortedBy(ortDict): f.write(row % (key, val[u'freq'], val[u'connect'])) f.write(footer) f.write(u'\n====Preserved mappings====\n') f.write(header) for key, val in helpers.sortedBy(emptyPlaces): f.write(row % (key, val[u'freq'], val[u'connect'])) f.write(footer) f.write(u'\n\n[[%s]]' % LIST_CAT) f.close() output(u'Created %s' % filename)
def writeObjKeywords(filename, ord1Dict, ord2Dict, gruppDict, emptyObjCats): ''' output ObjKeywords in Commons format ''' # set-up header = u'{{user:Lokal Profil/LSH2|category=}}\n' row = u'{{User:Lokal Profil/LSH3\n' \ u'|name = %s\n' \ u'|frequency = %d\n' \ u'|category = %s\n' \ u'}}\n' footer = u'|}\n' intro = u'<!--From: %s -->\n' % CSV_FILES[u'objDaten'] \ + u'These are the keywords used to describe the objects ' \ + u'themselves. Classification is used for all items whereas ' \ + u'group is only used at HWY.\n\n' \ + u'when possible ord1 will be used instead of the more ' \ + u'generic ord2.\n\n' \ + u'Multiple categories are separated by a "/"\n' \ + u'===Keyword|frequency|commonscategory===\n' # output f = codecs.open(filename, 'w', 'utf8') f.write(intro) f.write(u'\n====class: ord1====\n') f.write(header) for key, val in helpers.sortedBy(ord1Dict): f.write(row % (key, val[u'freq'], '/'.join(val[u'connect']))) f.write(footer) f.write(u'\n====class: ord2====\n') f.write(header) for key, val in helpers.sortedBy(ord2Dict): f.write(row % (key, val[u'freq'], '/'.join(val[u'connect']))) f.write(footer) f.write(u'\n====class: class: HWY-grupp====\n') f.write(header) for key, val in helpers.sortedBy(gruppDict): f.write(row % (key, val[u'freq'], '/'.join(val[u'connect']))) f.write(footer) f.write(u'\n====Preserved mappings====\n') f.write(header) for key, val in helpers.sortedBy(emptyObjCats): f.write(row % (key, val[u'freq'], '/'.join(val[u'connect']))) f.write(footer) f.write(u'\n\n[[%s]]' % LIST_CAT) f.close() output(u'Created %s' % filename)
def writePeople(filename, dDict): ''' output People in Commons format ''' # set-up header = u'{{user:Lokal Profil/LSH2|name=Name <small>(kueId)</small>' \ u'|link=Wikipedia-link|creator=|category=}}\n' row = u'{{User:Lokal Profil/LSH3\n' \ u'|name = %s\n' \ u'|more = %s\n' \ u'|frequency = %d\n' \ u'|link = %s\n' \ u'|creator = %s\n' \ u'|category = %s\n' \ u'}}\n' footer = u'|}\n' intro = u'<!--From: %s -->\n' % CSV_FILES[u'kuenstler'] \ + u'\'\'wikipedia-link\'\' is used for descriptive texts whereas ' \ + u'creator is a creator template on commons and ' \ + u'\'\'commoncat\'\' is a relevant category on commons.\n\n' \ + u'Set commonsconnection of irrelevant events to "-". ' \ + u'Note that creator is only relevant for artists.\n\n' \ + u'===kueId|frequency|name|wikipedia-link|creator|commoncat===\n' # output once = True f = codecs.open(filename, 'w', 'utf8') f.write(intro) f.write(header) for key, val in helpers.sortedBy(dDict): if once and val[u'freq'] == 0: once = False f.write(footer) f.write(u'\n===Preserved mappings===\n') f.write(header) f.write(row % (val[u'descr'], key, val[u'freq'], val[u'link'], val[u'creator'], val[u'cat'])) f.write(footer) f.write(u'\n\n[[%s]]' % LIST_CAT) f.close() output(u'Created %s' % filename)
def writeEvents(filename, dDict): ''' output events in Commons format ''' # set-up header = u'{{user:Lokal Profil/LSH2|name=Event|' \ u'link=Wikipedia-link|category=}}\n' row = u'{{User:Lokal Profil/LSH3\n' \ u'|name = %s\n' \ u'|frequency = %d\n' \ u'|link = %s\n' \ u'|category = %s\n' \ u'}}\n' footer = u'|}\n' intro = u'<!--From: %s -->' % CSV_FILES[u'ereignis'] \ + u'\'\'wikipedia-link\'\' are used for descriptive texts ' \ + u'whereas \'\'commonsconnection\'\' is a relevant category ' \ + u'on commons.\n\n' \ + u'Set commonsconnection of irrelevant events to "-"\n\n' \ + u'Multiple categories are separated by "/"\n\n' \ + u'*död/begravning: [[:Category:Funeral of X of Sweden]]\n' \ + u'*kröning: [[:Category:Coronation of X of Sweden]]\n' \ + u'*bröllop: [[:Category:Wedding of X and Y of Sweden]]\n' \ + u'===Event|Frequency|wikipedia-link|Commonsconnection===\n' # output once = True f = codecs.open(filename, 'w', 'utf8') f.write(intro) f.write(header) for key, val in helpers.sortedBy(dDict): if once and val[u'freq'] == 0: once = False f.write(footer) f.write(u'\n===Preserved mappings===\n') f.write(header) f.write(row % (key, val[u'freq'], val[u'link'], '/'.join(val[u'cat']))) f.write(footer) f.write(u'\n\n[[%s]]' % LIST_CAT) f.close() output(u'Created %s' % filename)