use 'item' vocabulary consistently in API
the 'entry' word came from feedparser, which uses the 'entries' field. yet they also use 'item' in other places so remove the confusion and distinguish ourselves
View Articlefix build reproducibility by using expanduser instead of HOME
we abuse the self.path vs class variable distinction to expand the path on initialization this coincidentally allows users to pass ~ variables on the commandline reliably
View Articlemake global lock func visible in the module
this allows the locking hack to be overridable, but this is mostly to document this properly
View Articleadd some limited parallelism tests
we can only test the output as the variables are set in subprocesses. we also need to switch from get() to wait() in the subprocess API because it seems the test suite raises issues that were not...
View Articlemove the locking initialized down to a subfunction to hide it from the toplev...
there is actually no reason why this should show up in the module API
View Articlere-enable the accessing of results from multiprocessing
turns out there *is* a reason for using .get: it will raise exceptions properly. i believe that .wait() may not return exceptions the same way parse() would do. i now remember i explicitly used .get()...
View Articleofficially drop support for Python 2
unofficially, since we use extended expanders (foo, *rest = tuple), we already failed to compile, but this makes it official
View Article