mirror of
https://codeberg.org/privacy1st/xournalpp-relative-background
synced 2024-12-03 22:15:02 +01:00
refactor
This commit is contained in:
parent
8bbd1579bc
commit
f204428a55
@ -25,11 +25,12 @@ try:
|
||||
except ImportError as e:
|
||||
print(f'Optional dependency "notify2" is not available. {MSG_FALLBACK_STR}')
|
||||
except Exception as e:
|
||||
print(f'Error during import or initialization of notify2. Is the dependency "dbus-python" missing? {MSG_FALLBACK_STR}')
|
||||
print(f'Error during import or initialization of notify2. '
|
||||
f'Is the dependency "dbus-python" missing? {MSG_FALLBACK_STR}')
|
||||
|
||||
|
||||
def main():
|
||||
modified_files=0
|
||||
modified_files = 0
|
||||
xopp_files: List[Path] = []
|
||||
try:
|
||||
xopp_files = parse_args()
|
||||
@ -103,19 +104,21 @@ def save_relative_paths(xopp_file: Path) -> int:
|
||||
if not root.tag == 'xournal':
|
||||
raise Exception(f'Unexpected root element: {root.tag}')
|
||||
|
||||
child1: Element
|
||||
for child1 in root:
|
||||
if child1.tag == 'page':
|
||||
child2: Element
|
||||
for child2 in child1:
|
||||
if child2.tag == 'background' \
|
||||
and 'type' in child2.attrib \
|
||||
and child2.attrib['type'] == 'pdf' \
|
||||
and 'domain' in child2.attrib \
|
||||
and child2.attrib['domain'] == 'absolute' \
|
||||
and 'filename' in child2.attrib:
|
||||
print(f'type: {child2.tag}, attrib: {child2.attrib}')
|
||||
abs_pdf: Path = Path(child2.attrib['filename'])
|
||||
page: Element
|
||||
for page in root:
|
||||
if page.tag == 'page':
|
||||
|
||||
background: Element
|
||||
for background in page:
|
||||
if background.tag == 'background' \
|
||||
and 'type' in background.attrib \
|
||||
and background.attrib['type'] == 'pdf' \
|
||||
and 'domain' in background.attrib \
|
||||
and background.attrib['domain'] == 'absolute' \
|
||||
and 'filename' in background.attrib:
|
||||
|
||||
print(f'type: {background.tag}, attrib: {background.attrib}')
|
||||
abs_pdf: Path = Path(background.attrib['filename'])
|
||||
|
||||
if not abs_pdf.is_absolute():
|
||||
continue # No action required as the path is already relative
|
||||
@ -127,7 +130,7 @@ def save_relative_paths(xopp_file: Path) -> int:
|
||||
rel_pdf: Path = xopp_file.parent.joinpath(abs_pdf.name)
|
||||
if rel_pdf.exists():
|
||||
# Replace absolute with relative path
|
||||
child2.attrib['filename'] = abs_pdf.name
|
||||
background.attrib['filename'] = abs_pdf.name
|
||||
xml_modified = True
|
||||
else:
|
||||
print("The PDF file was neither found at it's absolute path"
|
||||
|
Loading…
Reference in New Issue
Block a user