Skip to content

Commit 503deae

Browse files
marcarlclaude
andcommitted
Fix PEP 8 compliance across all Python files
This commit addresses PEP 8 compliance issues throughout the codebase to ensure the project follows the coding standards documented in CONTRIBUTING.md. ## Changes made: ### Whitespace and formatting (900+ fixes) - Remove trailing whitespace from all lines (W291, W293) - Fix newline issues at end of files (W292, W391) - Fix blank lines between functions (E302, E303, E305) - Fix block comment formatting (E265) ### Line length (60 fixes) - Break long lines where possible using autopep8 (E501) - Reduced from 174 to 114 E501 violations - Remaining violations are long strings/comments per CONTRIBUTING.md flexibility ### Indentation (20 fixes) - Fix continuation line indentation (E128, E129) ## Remaining issues: - 114 E501 (line too long) violations remain, primarily for: - Long string literals - Complex regex patterns - Descriptive comments These are acceptable per CONTRIBUTING.md: "Maximal radlängd: 100 tecken (flexibelt för långa strängar)" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent ad04426 commit 503deae

49 files changed

Lines changed: 1939 additions & 1594 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

downloaders/download_sfs_docs.py

Lines changed: 54 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
# Importera funktioner från de specifika nedladdningsmodulerna
1515
from riksdagen_api import fetch_document_ids, download_documents as download_riksdagen_documents
1616
from rkrattsbaser_api import (
17-
fetch_document_by_rkrattsbaser,
18-
save_document_from_rkrattsbaser,
17+
fetch_document_by_rkrattsbaser,
18+
save_document_from_rkrattsbaser,
1919
convert_riksdagen_id_to_rkrattsbaser_format,
2020
download_documents as download_rkrattsbaser_documents
2121
)
@@ -28,84 +28,85 @@ def download_test_docs():
2828
"""
2929
test_docs_file = "data/test-doc-ids.json"
3030
output_dir = "data/testdocs"
31-
31+
3232
print("=== Laddar ner testdokument ===")
33-
33+
3434
# Kontrollera att filen med test-dokument-ID:n finns
3535
if not os.path.exists(test_docs_file):
3636
print(f"✗ Filen {test_docs_file} hittades inte.")
3737
return False
38-
38+
3939
try:
4040
# Läs test-dokument-ID:n från JSON-filen (med kommentarstöd)
4141
with open(test_docs_file, 'r', encoding='utf-8') as f:
4242
content = f.read()
43-
43+
4444
# Ta bort /* */ kommentarer
4545
content = re.sub(r'/\*.*?\*/', '', content, flags=re.DOTALL)
4646
# Ta bort // kommentarer (endast från början av rad eller efter whitespace)
4747
content = re.sub(r'^\s*//.*$', '', content, flags=re.MULTILINE)
4848
content = re.sub(r'\s+//.*$', '', content, flags=re.MULTILINE)
49-
49+
5050
test_docs = json.loads(content)
51-
51+
5252
if not test_docs:
5353
print("Inga testdokument att ladda ner.")
5454
return True
55-
55+
5656
print(f"Hittade {len(test_docs)} testdokument att ladda ner")
5757
print(f"Sparar i katalog: {output_dir}")
58-
58+
5959
# Skapa katalog om den inte finns
6060
os.makedirs(output_dir, exist_ok=True)
61-
61+
6262
successful_downloads = 0
6363
failed_downloads = 0
64-
64+
6565
# Ladda ner varje testdokument
6666
for i, doc_info in enumerate(test_docs, 1):
6767
document_id = doc_info.get("document_id")
6868
comment = doc_info.get("comment", "")
69-
69+
7070
if not document_id:
7171
print(f"⚠ Dokument {i} saknar document_id, hoppar över")
7272
failed_downloads += 1
7373
continue
74-
74+
7575
print(f"[{i}/{len(test_docs)}] {document_id}")
7676
if comment:
7777
print(f" Kommentar: {comment}")
7878

7979
# Konvertera dokument-ID till rätt format för Regeringskansliet
8080
converted_id = convert_riksdagen_id_to_rkrattsbaser_format(document_id)
81-
81+
8282
# Ladda ner dokumentet från Regeringskansliet
8383
document_data = fetch_document_by_rkrattsbaser(converted_id)
8484
if document_data:
8585
rkrattsbaser_dir = os.path.join(output_dir, "rkrattsbaser")
86-
success = save_document_from_rkrattsbaser(document_id, document_data, rkrattsbaser_dir)
86+
success = save_document_from_rkrattsbaser(
87+
document_id, document_data, rkrattsbaser_dir)
8788
else:
8889
success = False
89-
90+
9091
if success:
9192
successful_downloads += 1
9293
else:
9394
failed_downloads += 1
94-
95+
9596
# Kort paus mellan nedladdningar
9697
time.sleep(0.5)
97-
98+
9899
# Sammanfattning
99100
print("\n=== Sammanfattning testdokument ===")
100101
print(f"Totalt testdokument: {len(test_docs)}")
101102
print(f"Lyckade nedladdningar: {successful_downloads}")
102103
print(f"Misslyckade nedladdningar: {failed_downloads}")
103-
104+
104105
if successful_downloads > 0:
105106
print(f"Testdokument sparade i: {os.path.abspath(output_dir)}")
106-
107+
107108
return failed_downloads == 0
108-
109+
109110
except json.JSONDecodeError as e:
110111
print(f"✗ Fel vid parsing av {test_docs_file}: {e}")
111112
return False
@@ -118,17 +119,29 @@ def main():
118119
"""
119120
Huvudfunktion som koordinerar hämtning av dokument-ID:n och nedladdning av dokument.
120121
"""
121-
parser = argparse.ArgumentParser(description='Ladda ner SFS-dokument från Regeringskansliets söktjänst eller Riksdagens öppna API')
122-
parser.add_argument('--ids', default='all',
123-
help='Kommaseparerad lista med dokument-ID:n att ladda ner, eller "all" för att hämta alla från Riksdagen (default: all)')
122+
parser = argparse.ArgumentParser(
123+
description='Ladda ner SFS-dokument från Regeringskansliets söktjänst eller Riksdagens öppna API')
124+
parser.add_argument(
125+
'--ids',
126+
default='all',
127+
help='Kommaseparerad lista med dokument-ID:n att ladda ner, eller "all" för att hämta alla från Riksdagen (default: all)')
124128
parser.add_argument('--out', default='sfs_docs',
125129
help='Mapp att spara nedladdade dokument i (default: sfs_docs)')
126-
parser.add_argument('--source', choices=['riksdagen', 'rkrattsbaser'], default='rkrattsbaser',
127-
help='Välj källa för nedladdning: riksdagen (HTML) eller rkrattsbaser (JSON via Elasticsearch) (default: rkrattsbaser)')
128-
parser.add_argument('--year', type=int,
129-
help='Filtrera dokument för specifikt årtal (t.ex. 2025 för sfs-2025-xxx). Fungerar endast med --ids all och --source riksdagen')
130-
parser.add_argument('--test-docs', action='store_true',
131-
help='Ladda ner testdokument från data/test-doc-ids.json till data/testdocs')
130+
parser.add_argument(
131+
'--source',
132+
choices=[
133+
'riksdagen',
134+
'rkrattsbaser'],
135+
default='rkrattsbaser',
136+
help='Välj källa för nedladdning: riksdagen (HTML) eller rkrattsbaser (JSON via Elasticsearch) (default: rkrattsbaser)')
137+
parser.add_argument(
138+
'--year',
139+
type=int,
140+
help='Filtrera dokument för specifikt årtal (t.ex. 2025 för sfs-2025-xxx). Fungerar endast med --ids all och --source riksdagen')
141+
parser.add_argument(
142+
'--test-docs',
143+
action='store_true',
144+
help='Ladda ner testdokument från data/test-doc-ids.json till data/testdocs')
132145

133146
args = parser.parse_args()
134147

@@ -141,7 +154,7 @@ def main():
141154
print(f"Källa: {args.source}")
142155
if args.year:
143156
print(f"Filtrerar för år: {args.year}")
144-
157+
145158
# Hämta dokument-ID:n
146159
if args.ids == 'all':
147160
document_ids = fetch_document_ids(args.year)
@@ -153,30 +166,32 @@ def main():
153166
# Varning om --year används med specifika IDs
154167
if args.year:
155168
print("⚠ --year parameter ignoreras när specifika dokument-ID:n anges med --ids.")
156-
169+
157170
if not document_ids:
158171
print("Inga dokument-ID:n hittades. Avslutar.")
159172
return
160-
173+
161174
# Skapa katalog för nedladdade författningar
162175
output_dir = args.out
163176
print(f"\nLaddar ner författningar till katalogen: {output_dir}")
164177

165178
# Ladda ner författningar baserat på källa
166179
if args.source == 'riksdagen':
167-
successful_downloads, failed_downloads = download_riksdagen_documents(document_ids, output_dir)
180+
successful_downloads, failed_downloads = download_riksdagen_documents(
181+
document_ids, output_dir)
168182
elif args.source == 'rkrattsbaser':
169-
successful_downloads, failed_downloads = download_rkrattsbaser_documents(document_ids, output_dir)
170-
183+
successful_downloads, failed_downloads = download_rkrattsbaser_documents(
184+
document_ids, output_dir)
185+
171186
# Sammanfattning
172187
print("\n=== Sammanfattning ===")
173188
print(f"Totalt dokument-ID:n: {len(document_ids)}")
174189
print(f"Lyckade nedladdningar: {successful_downloads}")
175190
print(f"Misslyckade nedladdningar: {failed_downloads}")
176-
191+
177192
if successful_downloads > 0:
178193
print(f"Författningar sparade i katalogen: {os.path.abspath(output_dir)}")
179194

180195

181196
if __name__ == "__main__":
182-
main()
197+
main()

0 commit comments

Comments
 (0)