Skip to content

Commit

Permalink
Handle records with no user value (#128)
Browse files Browse the repository at this point in the history
* handle records with no user value

* update tests
  • Loading branch information
jbukhari authored Jul 3, 2024
1 parent 2b1dd8d commit 21b0377
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
3 changes: 3 additions & 0 deletions dlx_dl/scripts/sync/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,9 @@ def run(**kwargs):
Auth.build_cache()

for i, record in enumerate(records.records):
if record.user is None:
record.user = 'system'

if record.user[:10] == 'batch_edit':
# skip syncing batch edited records for now so as not to overwhelm DL queue
continue
Expand Down
17 changes: 16 additions & 1 deletion tests/test_dlx_dl.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ def test_561(db, tmp_path):
def test_sync(db, capsys, mock_get_post):
# todo: expand this test
from http.server import HTTPServer
from dlx import DB
from dlx.marc import Bib

bib = Bib().set('245', 'a', 'Will self destruct')
Expand All @@ -234,5 +235,19 @@ def test_sync(db, capsys, mock_get_post):
sync.run(connect=db, source='test', type='bib', modified_within=100, force=True)
data = list(filter(None, capsys.readouterr().out.split('\n')))
assert data


# skip special user
bib = Bib().set('245', 'a', 'Moar testing')
bib.commit(user='batch_edit_x')
sync.run(connect=db, source='test', type='bib', id=bib.id, force=True)
data = list(filter(None, capsys.readouterr().out.split('\n')))
assert 'Updated 0 records' in data

# no user
bib = Bib().set('245', 'a', 'Moar testing')
bib.commit(user='')
sync.run(connect=db, source='test', type='bib', id=bib.id, force=True)
data = list(filter(None, capsys.readouterr().out.split('\n')))
assert DB.handle['dlx_dl_log'].find_one({'record_id': bib.id})

### end

0 comments on commit 21b0377

Please sign in to comment.