Skip to content

Commit 8e5645d

Browse files
committed
Bedre støtte for innlogget innhold
1 parent 79e01bd commit 8e5645d

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,23 @@ Følgende er støttet:
3232
- Musikkmanuskripter (digimanus)
3333
- Plakater (digifoto)
3434
- Programrapport (digiprogramrapport)
35+
36+
<details>
37+
<summary>Innlogget innhold</summary>
38+
Som innlogget, åpne boka der en kan lese den, åpne Utviklerverktøy og finn Nettverkfanen.
39+
Refresh siden, og nettverksfanen populeres med innhold.
40+
Finn og velg manifest?fields=etcetc i listen, og bla igjen ned og finn Request Headers.
41+
42+
Her kopieres innholdet fra authorization og cookie og lagres i en textfil ved scriptet.
43+
Formaten på tekstfilen er
44+
```
45+
authorization=4JjcVi6faGF-GhD6wMoXZ80rUkg.*AAJTSQACMDIAAlNLABxxRandomRandomxxSNVpvUTlQxxRandomRandomxxDVFMAAlMxAAIwMQ..
46+
cookie=_ga=GA1.1.1234543217.123454321; _hjSessionUser_123454321=eyJpZCI6IjUzOTZmxxRandomRandomxxy1hNDEwLTc0ZjA4NTJhxxRandomRandomxxOjE3MjYwNTEyNzcxxRandomRandomxxW5nIjp0cnVlfQ==;osvosvetc
47+
```
48+
Scriptet kjøres deretter med `--cookie` flagget som peker til filen, feks `python3 nbno.py --id blabla --cookie nbno-cookie.txt`
49+
50+
</details>
51+
3552
```
3653
bruk: nbno.py [-h] [--id <ID>] [--cover] [--pdf] [--f2pdf] [--url] [--error]
3754
[--v] [--resize <int>] [--start <int>] [--stop <int>]
@@ -51,4 +68,5 @@ valgfrie argumenter:
5168
--resize <int> Prosent av originalstørrelse på bilder
5269
--start <int> Sidetall å starte på
5370
--stop <int> Sidetall å stoppe på
71+
--cookie <string> Sti til fil for autentisering
5472
```

nbno.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,16 @@ def set_folder_path(self, folder_path):
7777
self.folder_path = folder_path
7878
self.find_existing_files()
7979

80+
def load_cookie(self, file_path):
81+
with open(file_path) as f:
82+
for line in f:
83+
if "=" in line:
84+
key, value = map(str.strip, line.split("=", 1))
85+
if key in ["authorization", "cookie"]:
86+
self.session.headers[key] = value
87+
if self.verbose:
88+
print(self.session.headers)
89+
8090
def find_existing_files(self):
8191
filelist = []
8292
filelist.extend(glob(os.path.join(f"{self.folder_path}*.jpg")))
@@ -409,6 +419,12 @@ def main():
409419
optional.add_argument(
410420
"--stop", metavar="<int>", help="Sidetall å stoppe på", default=False
411421
)
422+
optional.add_argument(
423+
"--cookie",
424+
metavar="<string>",
425+
help="Sti til fil for autentisering",
426+
default=False
427+
)
412428
parser._action_groups.append(optional)
413429
args = parser.parse_args()
414430

@@ -444,6 +460,12 @@ def main():
444460
book.set_to_print_errors()
445461
if args.v:
446462
book.verbose_print()
463+
if args.cookie:
464+
if os.path.exists(args.cookie):
465+
book.load_cookie(args.cookie)
466+
else:
467+
print(f"Fil for autentisering ikke funnet: {args.cookie}")
468+
exit()
447469
if args.resize:
448470
book.set_resize(int(args.resize))
449471
if args.start:

0 commit comments

Comments
 (0)