Skip to content

Commit

Permalink
Merge 9fa2c75 into 9ab6410
Browse files Browse the repository at this point in the history
  • Loading branch information
ross-spencer committed Jun 23, 2019
2 parents 9ab6410 + 9fa2c75 commit 6d55c4b
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 6 deletions.
2 changes: 1 addition & 1 deletion metsrw/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

LOGGER = logging.getLogger(__name__)
LOGGER.addHandler(logging.NullHandler())
__version__ = "0.3.9"
__version__ = "0.3.x"

__all__ = [
"Agent",
Expand Down
16 changes: 13 additions & 3 deletions metsrw/fsentry.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,10 +179,12 @@ def dir(cls, label, children):
"""Return ``FSEntry`` directory object."""
return FSEntry(label=label, children=children, type=u"Directory", use=None)

# XXXXXX
@classmethod
def from_fptr(cls, label, type_, fptr):
def from_fptr(cls, label, type_, fptr, fileid):
"""Return ``FSEntry`` object."""
return FSEntry(
fileid=fileid,
label=label,
type=type_,
path=fptr.path,
Expand All @@ -196,9 +198,17 @@ def from_fptr(cls, label, type_, fptr):
def __str__(self):
return "{s.type}: {s.path}".format(s=self)

# XXXXXX
def __repr__(self):
return "FSEntry(type={s.type!r}, path={s.path!r}, use={s.use!r}, label={s.label!r}, file_uuid={s.file_uuid!r}, checksum={s.checksum!r}, checksumtype={s.checksumtype!r})".format(
s=self
return (
"FSEntry(type={s.type!r}, \
path={s.path!r}, \
fileid={s._fielid!r}, \
use={s.use!r}, \
label={s.label!r}, \
file_uuid={s.file_uuid!r}, \
checksum={s.checksum!r}, \
checksumtype={s.checksumtype!r})".format(s=self)
)

# PROPERTIES
Expand Down
5 changes: 3 additions & 2 deletions metsrw/mets.py
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,7 @@ def _parse_tree_structmap(self, tree, parent_elem, normative_parent_elem=None):
continue # Only handle divs, not fptrs
entry_type = elem.get("TYPE")
label = elem.get("LABEL")
fileid = elem.get("FILEID")
fptr_elems = elem.findall("mets:fptr", namespaces=utils.NAMESPACES)
# Directories are walked recursively. Additionally, they may
# contain direct fptrs.
Expand All @@ -369,7 +370,7 @@ def _parse_tree_structmap(self, tree, parent_elem, normative_parent_elem=None):
for fptr_elem in fptr_elems:
fptr = self._analyze_fptr(fptr_elem, tree, entry_type)
fs_entry = fsentry.FSEntry.from_fptr(
label=None, type_=u"Item", fptr=fptr
label=None, type_=u"Item", fptr=fptr, fileid=fileid
)
self._add_amdsecs_to_fs_entry(fptr.amdids, fs_entry, tree)
siblings.append(fs_entry)
Expand All @@ -378,7 +379,7 @@ def _parse_tree_structmap(self, tree, parent_elem, normative_parent_elem=None):
if not len(fptr_elems):
continue
fptr = self._analyze_fptr(fptr_elems[0], tree, entry_type)
fs_entry = fsentry.FSEntry.from_fptr(label, entry_type, fptr)
fs_entry = fsentry.FSEntry.from_fptr(label, entry_type, fptr, fileid)
self._add_dmdsecs_to_fs_entry(elem, fs_entry, tree)
self._add_amdsecs_to_fs_entry(fptr.amdids, fs_entry, tree)
siblings.append(fs_entry)
Expand Down

0 comments on commit 6d55c4b

Please sign in to comment.