feedwarrior

Slim, portable tooling for creating and distributing decentralized append logs
git clone git://git.defalsify.org/logwarrior.git
Log | Files | Refs | README | LICENSE

commit 2ac3398bdb90be3ffb34eb0f944ce16f7aa87678
parent d1e2fd226809735f59baff7bad4353f617588773
Author: nolash <dev@holbrook.no>
Date:   Fri,  3 Jul 2020 22:07:16 +0200

Fix missed path problems

Diffstat:
MCHANGELOG | 3+++
MVERSION | 2+-
Mfeedwarrior/adapters/fileadapter.py | 9++++++++-
Mfeedwarrior/cmd/entry.py | 2+-
Mfeedwarrior/feed.py | 5+++--
Mscripts/feedwarrior | 2+-
Msetup.py | 2+-
7 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG @@ -1,3 +1,6 @@ +* 0.4.0 + - Consolidate put and get methods on same adapter interface + - Resolve uncompressed path bug * 0.3.0 - Add gzip option for entries * 0.2.2 diff --git a/VERSION b/VERSION @@ -1 +1 @@ -0.3.0 +0.4.0 diff --git a/feedwarrior/adapters/fileadapter.py b/feedwarrior/adapters/fileadapter.py @@ -12,6 +12,7 @@ class fileadapter: os.mkdir(os.path.join(db_directory, 'feeds')) except FileExistsError: pass + try: os.mkdir(os.path.join(db_directory, 'feeds', str(uu))) except FileExistsError: @@ -21,12 +22,18 @@ class fileadapter: os.mkdir(os.path.join(db_directory, 'entries')) except FileExistsError: pass + + try: + os.mkdir(os.path.join(db_directory, 'feeds', str(uu), 'entries')) + except FileExistsError: + pass + self.src = db_directory self.feeds_uuid = uu def get(self, uu): - entry_path = os.path.join(self.src, str(uu)) + entry_path = os.path.join(self.src, 'entries', str(uu)) f = None if entry_path[len(entry_path)-3:] == '.gz': logg.debug('uncompressing {}'.format(entry_path)) diff --git a/feedwarrior/cmd/entry.py b/feedwarrior/cmd/entry.py @@ -37,7 +37,7 @@ def execute(config, feed, args): uu = str(entry.uuid) logg.debug('adding entry {}'.format(uu)) - fa = fileadapter(config.feeds_dir, feed.uuid) + fa = fileadapter(config.data_dir, feed.uuid) entry_json = json.dumps(entry_serialized) fa.put(entry.uuid, entry_json.encode('utf-8'), args.z) diff --git a/feedwarrior/feed.py b/feedwarrior/feed.py @@ -106,7 +106,8 @@ class feed: # TODO: add input checking for timestamps # TODO: check state of symlink index -def load(path): +def load(data_dir, uu): + path = os.path.join(data_dir, 'feeds', str(uu)) feed_meta_path = os.path.join(path, '.log') f = open(feed_meta_path, 'r') o = json.load(f) @@ -122,7 +123,7 @@ def load(path): for entry in os.listdir(feed_entries_path): feed_loaded.entries.append(entry) - fg = fileadapter(os.path.join(path, 'entries'), uu) + fg = fileadapter(data_dir, uu) feed_loaded.set_getter(fg) return feed_loaded diff --git a/scripts/feedwarrior b/scripts/feedwarrior @@ -77,7 +77,7 @@ elif args.command == 'show' or args.command == None: if feed_current == None: sys.stderr.write('plesae speficy a feed for showing\n') sys.exit(1) - feed_current = feedwarrior.load_feed(os.path.join(config.feeds_dir, str(feed_current.uuid))) + feed_current = feedwarrior.load_feed(config.data_dir, feed_current.uuid) cmd_mod = cmd_show else: sys.stderr.write('invalid command {}\n'.format(args.command)) diff --git a/setup.py b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name='feedwarrior', - version='0.3.0', + version='0.4.0', description='feeds, warrior style', author='Louis Holbrook', author_email='dev@holbrook.no',