Add:
bitshift/crawler/indexer.py
-add two `try: except: pass` blocks, one to _decode() and another to
GitIndexer.run(); bad practice, but GitIndexer has numerous unreliable
moving parts that can throw too many unforseeable exceptions. Only
current viable option.
-add file-extension regex ignore rules (for text, markdown, etc. files)
to _get_tracked_files().
Add:
bitshift/crawler/indexer.py
-add _debug().
-add content to the module docstring; add documentation to GitIndexer,
and the functions that were lacking it.
-add another perl one-liner to supplement the `git clone` subprocess
call, which terminates it after a set amount of time (should it have
frozen) -- fixes a major bug that caused the entire indexer to hang.
Add, Fix:
bitshift/crawler/
__init__.py
-add module and crawl() docstrings.
-add repository_queue size limit.
crawler.py
-account for time spent executing an API query in the run() loop
sleep() interval.
Additions are not tested and not yet documented.
Add:
crawler.py
-add threaded GitHubCrawler class, which interacts with a GitIndexer
via a Queue.
git_indexer.py
-add threaded GitIndexer class, which interacts with GitHubCrawler via
a Queue.
-rename context-manager ChangeDir class to _ChangeDir, because it's
essentially "private".
__init__.py
-add body to crawl(), which creates instances of GitHubCrawler and
GitIndexer and starts them.
Add:
bitshift/codelet.py
-add name field to Codelet.
bitshift/crawler/crawler.py
-fix previously defunct code (which was committed at a point of
incompletion) -- incorrect dictionary keys, etc..
-reformat some function calls' argument alignment to fit PEP standards.
bitshift/crawler.py
-add sleep() to ensure that an API query is made at regular intervals
(determined by the GitHub API limit).
Add:
bitshift/crawler/(crawler, git_indexer).py
-move Codelet creation from the crawler to the git_indexer, in
preparation for making crawling/indexing independent, threaded
processes.
Mod:
bitshift/codelet.py
-modify documentation for the author instance variable.
Add:
bitshift/crawler/crawler.py
-add base crawler module
-add github(), to index Github.
Mod:
bitshift/crawler/
-add package subdirectory for the crawler module, and any subsidiary
modules (eg, git_indexer).
bitshift/author_files.py > bitshift/crawler/git_indexer.py
-rename the module to "git_indexer", to better reflect its use.
-convert from stand-alone script to a module whose functions integrate
cleanly with the rest of the application.
-add all necessary, tested functions, with Sphinx documentation.
Add:
author_files.py
-add prototype script to output metadata about every file in a Git
repository: filename, author names, dates of creation and modification.
-lacking Sphinx documentation.
Add:
bitshift/assets.py
-add module that contains functions to be called from inside the
templates/ Jinja HTML files -- currently contains tag(), which generates
an HTML asset tag based on a filename.
bitshift/config.py
-add Flask configuration module.
static/(sass/main.sass, css/main.css)
-create isolated directory for SASS files; compiled CSS files will be
stored in static/css.
static/css/_mixins.sass
-add SASS partial to contain mixins (globally relevant to the project's
styling).
templates/layout.html
-add various metadata.
Add:
app.py
-add boilerplate Flask source.
bitshift/
-directory for all python source.
templates/(layout, index).html
-add global layout template, and placeholder home page.
static/css/main.sass
-add placeholder main SASS file.