Skip to content
This repository was archived by the owner on Apr 2, 2025. It is now read-only.

Commit fa2ae3f

Browse files
committed
Fixup utils.py
1 parent 3817239 commit fa2ae3f

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

camelot/utils.py

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
from urllib.request import urlopen
1919

2020
import numpy as np
21-
import pandas as pd
2221
from pdfminer.converter import PDFPageAggregator
2322
from pdfminer.layout import LAParams
2423
from pdfminer.layout import LTAnno
@@ -165,17 +164,27 @@ def validate_input(kwargs, flavor="lattice"):
165164

166165

167166
def remove_extra(kwargs, flavor="lattice"):
167+
"""Remove extra key - value pairs from a kwargs dictionary.
168+
169+
Parameters
170+
----------
171+
kwargs : [type]
172+
[description]
173+
flavor : str, optional
174+
[description], by default "lattice"
175+
176+
Returns
177+
-------
178+
[type]
179+
[description]
180+
181+
"""
168182
parser_kwargs = flavor_to_kwargs[flavor]
169-
# s.difference(t): new set with elements in s but not in t
170-
isec = set(kwargs.keys()).difference(set(parser_kwargs))
171-
if flavor == "lattice":
172-
for key in kwargs.keys():
173-
if key in stream_kwargs:
174-
kwargs.pop(key)
175-
else:
176-
for key in kwargs.keys():
177-
if key in lattice_kwargs:
178-
kwargs.pop(key)
183+
# Avoid "dictionary changed size during iteration"
184+
kwargs_keys = list(kwargs.keys())
185+
for key in kwargs_keys:
186+
if key not in parser_kwargs:
187+
kwargs.pop(key)
179188
return kwargs
180189

181190

0 commit comments

Comments
 (0)