mirror of
https://github.com/instaloader/instaloader.git
synced 2024-11-04 09:22:29 +01:00
Added functions to convert mediaid <-> shortcode
This commit is contained in:
parent
5ae3d7090f
commit
184c521646
@ -15,6 +15,7 @@ import sys
|
|||||||
import tempfile
|
import tempfile
|
||||||
import time
|
import time
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
|
from base64 import b64decode, b64encode
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from typing import Any, Callable, Dict, List, Optional
|
from typing import Any, Callable, Dict, List, Optional
|
||||||
|
|
||||||
@ -131,6 +132,21 @@ def get_anonymous_session() -> requests.Session:
|
|||||||
return session
|
return session
|
||||||
|
|
||||||
|
|
||||||
|
def shortcode_to_mediaid(code: str) -> int:
|
||||||
|
if len(code) > 11:
|
||||||
|
print("Wrong shortcode \"{0}\", unable to convert to mediaid.".format(code), file = sys.stderr)
|
||||||
|
return
|
||||||
|
code = 'A' * (12 - len(code)) + code
|
||||||
|
return int.from_bytes(b64decode(code.encode(), b'-_'), 'big')
|
||||||
|
|
||||||
|
|
||||||
|
def mediaid_to_shortcode(mediaid: int) -> str:
|
||||||
|
if mediaid.bit_length() > 64:
|
||||||
|
print("Wrong mediaid {0}, unable to convert to shortcode".format(str(mediaid)), file = sys.stderr)
|
||||||
|
return
|
||||||
|
return b64encode(mediaid.to_bytes(9, 'big'), b'-_').decode().replace('A', ' ').lstrip().replace(' ','A')
|
||||||
|
|
||||||
|
|
||||||
class Instaloader:
|
class Instaloader:
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
sleep: bool = True, quiet: bool = False, shorter_output: bool = False, profile_subdirs: bool = True):
|
sleep: bool = True, quiet: bool = False, shorter_output: bool = False, profile_subdirs: bool = True):
|
||||||
|
Loading…
Reference in New Issue
Block a user