summaryrefslogtreecommitdiff
path: root/TODO
blob: 8e9c415ded3643b158bcbea4e1cc6de01528f363 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
- GNUnet:
  - Fix up gnunetbib.bib so that make no longer throws errors:
    - Add PDF links or remove the relevant key requirement
    - Fix some faulty pages/publication types/dates in the bib
  - Organize into categories
  - Create the subdomain for this, docs.gnunet.org, where it should
    be deployed in /bib/.
  - stylistic branding (css etc) to match whatever new gnunet.org will use.
  - save the keywords! We have a whole bunch of keywords here https://gnunet.org/bibliography/keywords
    and anonbib supports categorizing / tagging.
  - improve the unique title/names (the first text appearing in the bib record).

  - BibTeX.py shortcomings fixing:
    - add better handling for when 'author' (or: the lack of 'author') returns NoneType:
      user@abyayala ~/src/gnunet/gnunetbibv1/anonbib [env]$ make | grep "author"
      ERROR: 2009_16 has no author field
      ERROR: 2008_3 has no author field
      ERROR: 2006_18 has no author field
      ERROR: 2005_8 has no author field
      ERROR: 2004_8 has no author field
      ERROR: 2001_1 has no author field
      Traceback (most recent call last):
      File "writeHTML.py", line 244, in <module>
           writePageSet(config, bib, tag)
      File "writeHTML.py", line 154, in writePageSet
           cache_url_path=cache_url_path)
      File "writeHTML.py", line 108, in writeHTML
           base_url=root)
      File "writeHTML.py", line 49, in writeBody
           print >>f, e.to_html(cache_path=cache_path, base_url=base_url)
      File "/home/user/src/gnunet/gnunetbibv1/anonbib/BibTeX.py", line 611, in to_html
           htmlAuthors = [a.htmlizeWithLink() for a in self.parsedAuthor]
      TypeError: 'NoneType' object is not iterable

- make the code more readable, which more or less means:
  - modularize it
    - and in conclusion also make it a package + script
  - follow good python coding standards (for example: just look at
    what python2-pylint tells you. Try to use really human readable
    names - don't use 'e', 'a', etc.
  - instead of printing to a file, explicitly write to it.

- Produce readable error output which fits into < 80 characters
- Remove duplicate records
- checks: detect duplicate records

- Add @url to BibTeX.
- Copy www_section content to @keywords again
- Produce valid bibtex output!

- support python3 (optional: backwards compat.)

- Longterm:
  Consider switching to https://bitbucket.org/pybtex-devs/pybtex/

- HTML output
  - switch to html5, css3
  - make it responsive

- More general tasks
        . Know about @book
	. Write unit tests for everything
	. Make name parsing vaguely sane
        - Maybe uncrossref in tmp.bib
        - Maybe pull important papers to the start of their sections?
        . Clean \{}~ when going from note to url; add \{}~ when making
          note from url.
        . Also clean \_ to _ and back
        - Look for urls in wherepublished.
        . Forgive newlines in wherepublished, note.
        - When sorting by date, entries with unknown months go into a magic
          "month zero" before January.  Is this right?
	- Strip unused features.
	o Take a configuration file on the command line instead of just
	  importing config.py.

- Cache tasks
	- Generate a list of broken links
	- Re-download all cached items if requested
	- Clear dead items from cache
	- Use HTTP HEAD requests to decide whetherto update stale
          elements in cache.
	- Add ability to honor a "www_no_cache={1}" option for entries
          if the authors ask us not to cache them.
	- Maybe, add ability to cache images from an HTML page.

- Reconcile tasks
        - Document it.
        - Notice when there is new or different information of certain kinds
          (pages, dates, etc) in the new information.
https://gnunet.org