aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2006-11-26 06:20:01 +0000
committerNick Mathewson <nickm@torproject.org>2006-11-26 06:20:01 +0000
commitadc4079a71c331fcb5c0d506a9d152307b5daeb2 (patch)
tree6e69e7e550527b123bdabdb92fa72bb407b5b633
parentfacf12ce463ba1c05b9147f2e79de550864af4a8 (diff)
downloadanonbib-adc4079a71c331fcb5c0d506a9d152307b5daeb2.tar.gz
r9809@Kushana: nickm | 2006-11-26 01:14:14 -0500
Write command-line code in a check for __name__=="__main__" so I can run anonbib stuff through pychecker. svn:r186
-rw-r--r--reconcile.py77
-rwxr-xr-xupdateCache.py18
-rwxr-xr-xwriteHTML.py145
3 files changed, 122 insertions, 118 deletions
diff --git a/reconcile.py b/reconcile.py
index 46ba1a4..5df1465 100644
--- a/reconcile.py
+++ b/reconcile.py
@@ -242,49 +242,50 @@ def emitKnown(f, ent, matches):
print >>f, "%%"
print >>f, "%"+(ent.format(77,4,1,invStrings).replace("\n", "\n%"))
-if len(sys.argv) != 2:
- print "reconcile.py expects 1 argument"
- sys.exit(1)
+if __name__ == '__main__':
+ if len(sys.argv) != 2:
+ print "reconcile.py expects 1 argument"
+ sys.exit(1)
-print "========= Scanning master =========="
-master = MasterBibTeX()
-master = BibTeX.parseFile(config.MASTER_BIB, master)
-master.buildIndex()
+ print "========= Scanning master =========="
+ master = MasterBibTeX()
+ master = BibTeX.parseFile(config.MASTER_BIB, master)
+ master.buildIndex()
-print "========= Scanning new file ========"
-try:
- fn = sys.argv[1]
- input = BibTeX.parseFile(fn)
-except BibTeX.ParseError, e:
- print "Error parsing %s: %s"%(fn,e)
- sys.exit(1)
+ print "========= Scanning new file ========"
+ try:
+ fn = sys.argv[1]
+ input = BibTeX.parseFile(fn)
+ except BibTeX.ParseError, e:
+ print "Error parsing %s: %s"%(fn,e)
+ sys.exit(1)
-f = open('tmp.bib', 'w')
-keys = input.newStrings.keys()
-keys.sort()
-for k in keys:
- v = input.newStrings[k]
- print >>f, "@string{%s = {%s}}"%(k,v)
+ f = open('tmp.bib', 'w')
+ keys = input.newStrings.keys()
+ keys.sort()
+ for k in keys:
+ v = input.newStrings[k]
+ print >>f, "@string{%s = {%s}}"%(k,v)
-invStrings = input.invStrings
+ invStrings = input.invStrings
-for e in input.entries:
- if not (e.get('title') and e.get('author')):
- print >>f, "%%\n%%%% Not enough information to search for a match: need title and author.\n%%"
- emit(f, e)
- continue
+ for e in input.entries:
+ if not (e.get('title') and e.get('author')):
+ print >>f, "%%\n%%%% Not enough information to search for a match: need title and author.\n%%"
+ emit(f, e)
+ continue
- matches = master.includes(e, all=1)
- if not matches:
- print >>f, "%%\n%%%% This entry is probably new: No match found.\n%%"
- emit(f, e)
- else:
- print >>f, "%%"
- print >>f, "%%%% Possible match found for this entry; max goodness",\
- matches[-1][0], "\n%%"
- emitKnown(f, e, matches)
+ matches = master.includes(e, all=1)
+ if not matches:
+ print >>f, "%%\n%%%% This entry is probably new: No match found.\n%%"
+ emit(f, e)
+ else:
+ print >>f, "%%"
+ print >>f, "%%%% Possible match found for this entry; max goodness",\
+ matches[-1][0], "\n%%"
+ emitKnown(f, e, matches)
-if not all_ok:
- print >>f, "\n\n\nErrors remain; not finished.\n"
+ if not all_ok:
+ print >>f, "\n\n\nErrors remain; not finished.\n"
-f.close()
+ f.close()
diff --git a/updateCache.py b/updateCache.py
index 2dd7998..8e1af06 100755
--- a/updateCache.py
+++ b/updateCache.py
@@ -150,12 +150,14 @@ def downloadAll(bibtex, missingOnly=0):
return errors
-if len(sys.argv) == 2:
- print "Loading from %s"%sys.argv[1]
-else:
- print >>sys.stderr, "Expected a single configuration file as an argument"
- sys.exit(1)
-config.load(sys.argv[1])
+if __name__ == '__main__':
-bib = BibTeX.parseFile(config.MASTER_BIB)
-downloadAll(bib,missingOnly=1)
+ if len(sys.argv) == 2:
+ print "Loading from %s"%sys.argv[1]
+ else:
+ print >>sys.stderr, "Expected a single configuration file as an argument"
+ sys.exit(1)
+ config.load(sys.argv[1])
+
+ bib = BibTeX.parseFile(config.MASTER_BIB)
+ downloadAll(bib,missingOnly=1)
diff --git a/writeHTML.py b/writeHTML.py
index 34e852e..0273f66 100755
--- a/writeHTML.py
+++ b/writeHTML.py
@@ -75,91 +75,92 @@ def writeHTML(f, sections, sectionType, fieldName, choices, section_urls={}):
writeBody(f, sections, section_urls)
print >>f, footer%fields
-if len(sys.argv) == 2:
- print "Loading from %s"%sys.argv[1]
-else:
- print >>sys.stderr, "Expected a single configuration file as an argument"
- sys.exit(1)
-config.load(sys.argv[1])
+if __name__ == '__main__':
+ if len(sys.argv) == 2:
+ print "Loading from %s"%sys.argv[1]
+ else:
+ print >>sys.stderr, "Expected a single configuration file as an argument"
+ sys.exit(1)
+ config.load(sys.argv[1])
-bib = BibTeX.parseFile(config.MASTER_BIB)
+ bib = BibTeX.parseFile(config.MASTER_BIB)
-##### Sorted views:
+ ##### Sorted views:
-## By topic.
+ ## By topic.
-entries = BibTeX.sortEntriesBy(bib.entries, "www_section", "ZZZZZZZZZZZZZZZZZ")
-entries = BibTeX.splitSortedEntriesBy(entries, "www_section")
-if entries[-1][0].startswith("<span class='bad'>"):
- entries[-1] = ("Miscellaneous", entries[-1][1])
+ entries = BibTeX.sortEntriesBy(bib.entries, "www_section", "ZZZZZZZZZZZZZZZZZ")
+ entries = BibTeX.splitSortedEntriesBy(entries, "www_section")
+ if entries[-1][0].startswith("<span class='bad'>"):
+ entries[-1] = ("Miscellaneous", entries[-1][1])
-entries = [ (s, BibTeX.sortEntriesByDate(ents))
- for s, ents in entries
- ]
+ entries = [ (s, BibTeX.sortEntriesByDate(ents))
+ for s, ents in entries
+ ]
-f = open(os.path.join(config.OUTPUT_DIR,"topic.html"), 'w')
-writeHTML(f, entries, "Topics", "topic",
- (("By topic", None),
- ("By date", "./date.html"),
- ("By author", "./author.html")
- ))
-f.close()
+ f = open(os.path.join(config.OUTPUT_DIR,"topic.html"), 'w')
+ writeHTML(f, entries, "Topics", "topic",
+ (("By topic", None),
+ ("By date", "./date.html"),
+ ("By author", "./author.html")
+ ))
+ f.close()
-## By date.
+ ## By date.
-entries = BibTeX.sortEntriesByDate(bib.entries)
-entries = BibTeX.splitSortedEntriesBy(entries, 'year')
-for idx in -1, -2:
- if entries[idx][0].startswith("<span class='bad'>"):
- entries[idx] = ("Unknown", entries[idx][1])
- elif entries[idx][0].startswith("forthcoming"):
- entries[idx] = ("Forthcoming", entries[idx][1])
-sections = [ ent[0] for ent in entries ]
+ entries = BibTeX.sortEntriesByDate(bib.entries)
+ entries = BibTeX.splitSortedEntriesBy(entries, 'year')
+ for idx in -1, -2:
+ if entries[idx][0].startswith("<span class='bad'>"):
+ entries[idx] = ("Unknown", entries[idx][1])
+ elif entries[idx][0].startswith("forthcoming"):
+ entries[idx] = ("Forthcoming", entries[idx][1])
+ sections = [ ent[0] for ent in entries ]
-first_year = int(entries[0][1][0]['year'])
-try:
- last_year = int(entries[-1][1][0].get('year'))
-except ValueError:
- last_year = int(entries[-2][1][0].get('year'))
+ first_year = int(entries[0][1][0]['year'])
+ try:
+ last_year = int(entries[-1][1][0].get('year'))
+ except ValueError:
+ last_year = int(entries[-2][1][0].get('year'))
-years = map(str, range(first_year, last_year+1))
-if entries[-1][0] == 'Unknown':
- years.append("Unknown")
+ years = map(str, range(first_year, last_year+1))
+ if entries[-1][0] == 'Unknown':
+ years.append("Unknown")
-f = open(os.path.join(config.OUTPUT_DIR,"date.html"), 'w')
-writeHTML(f, entries, "Years", "date",
- (("By topic", "./topic.html"),
- ("By date", None),
- ("By author", "./author.html")
- ))
-f.close()
+ f = open(os.path.join(config.OUTPUT_DIR,"date.html"), 'w')
+ writeHTML(f, entries, "Years", "date",
+ (("By topic", "./topic.html"),
+ ("By date", None),
+ ("By author", "./author.html")
+ ))
+ f.close()
-## By author
-entries, url_map = BibTeX.splitEntriesByAuthor(bib.entries)
+ ## By author
+ entries, url_map = BibTeX.splitEntriesByAuthor(bib.entries)
-f = open(os.path.join(config.OUTPUT_DIR,"author.html"), 'w')
-writeHTML(f, entries, "Authors", "author",
- (("By topic", "./topic.html"),
- ("By date", "./date.html"),
- ("By author", None),
- ),
- url_map)
-f.close()
+ f = open(os.path.join(config.OUTPUT_DIR,"author.html"), 'w')
+ writeHTML(f, entries, "Authors", "author",
+ (("By topic", "./topic.html"),
+ ("By date", "./date.html"),
+ ("By author", None),
+ ),
+ url_map)
+ f.close()
-## The big BibTeX file
+ ## The big BibTeX file
-entries = bib.entries[:]
-entries = [ (ent.key, ent) for ent in entries ]
-entries.sort()
-entries = [ ent[1] for ent in entries ]
-header,footer = getTemplate(config.BIBTEX_TEMPLATE_FILE)
-f = open(os.path.join(config.OUTPUT_DIR,"bibtex.html"), 'w')
-print >>f, header % { 'command_line' : "" }
-for ent in entries:
- print >>f, (
- ("<tr><td class='bibtex'><a name='%s'>%s</a>"
- "<pre class='bibtex'>%s</pre></td></tr>")
- %(BibTeX.url_untranslate(ent.key), ent.key, ent.format(90,8,1)))
-print >>f, footer
-f.close()
+ entries = bib.entries[:]
+ entries = [ (ent.key, ent) for ent in entries ]
+ entries.sort()
+ entries = [ ent[1] for ent in entries ]
+ header,footer = getTemplate(config.BIBTEX_TEMPLATE_FILE)
+ f = open(os.path.join(config.OUTPUT_DIR,"bibtex.html"), 'w')
+ print >>f, header % { 'command_line' : "" }
+ for ent in entries:
+ print >>f, (
+ ("<tr><td class='bibtex'><a name='%s'>%s</a>"
+ "<pre class='bibtex'>%s</pre></td></tr>")
+ %(BibTeX.url_untranslate(ent.key), ent.key, ent.format(90,8,1)))
+ print >>f, footer
+ f.close()