fix // and other logic flaws
This commit is contained in:
@@ -15,6 +15,7 @@ from admin_links import cmd_rename
|
|||||||
from admin_links import cmd_unban
|
from admin_links import cmd_unban
|
||||||
from admin_links import cmd_validate_import
|
from admin_links import cmd_validate_import
|
||||||
from admin_links import cmd_fix_revision
|
from admin_links import cmd_fix_revision
|
||||||
|
from admin_links import cmd_fix_x_media
|
||||||
from admin_users import cmd_user_rename
|
from admin_users import cmd_user_rename
|
||||||
from admin_users import cmd_users
|
from admin_users import cmd_users
|
||||||
|
|
||||||
@@ -80,6 +81,9 @@ def build_parser() -> argparse.ArgumentParser:
|
|||||||
p_fix_rev = sub.add_parser("fix-revision")
|
p_fix_rev = sub.add_parser("fix-revision")
|
||||||
p_fix_rev.set_defaults(func=cmd_fix_revision)
|
p_fix_rev.set_defaults(func=cmd_fix_revision)
|
||||||
|
|
||||||
|
p_fix_media = sub.add_parser("fix-x-media")
|
||||||
|
p_fix_media.set_defaults(func=cmd_fix_x_media)
|
||||||
|
|
||||||
p_user_rename = sub.add_parser("user-rename")
|
p_user_rename = sub.add_parser("user-rename")
|
||||||
p_user_rename.add_argument("user")
|
p_user_rename.add_argument("user")
|
||||||
p_user_rename.add_argument("site")
|
p_user_rename.add_argument("site")
|
||||||
|
|||||||
@@ -218,6 +218,28 @@ def cmd_fix_revision(_: argparse.Namespace) -> None:
|
|||||||
print("ok")
|
print("ok")
|
||||||
|
|
||||||
|
|
||||||
|
def cmd_fix_x_media(_: argparse.Namespace) -> None:
|
||||||
|
with db.connect() as conn:
|
||||||
|
rows = conn.execute(
|
||||||
|
"""
|
||||||
|
SELECT id, url_original FROM links
|
||||||
|
WHERE url_original LIKE '%x.com/%//media%'
|
||||||
|
"""
|
||||||
|
).fetchall()
|
||||||
|
for row in rows:
|
||||||
|
fixed = row["url_original"].replace("//media", "/media")
|
||||||
|
conn.execute(
|
||||||
|
"""
|
||||||
|
UPDATE links
|
||||||
|
SET url_original = ?, url_normalized = ?, updated_at = CURRENT_TIMESTAMP
|
||||||
|
WHERE id = ?
|
||||||
|
""",
|
||||||
|
(fixed, db.normalize_url(fixed), row["id"]),
|
||||||
|
)
|
||||||
|
conn.commit()
|
||||||
|
print("ok")
|
||||||
|
|
||||||
|
|
||||||
def _fzf_select(lines: list[str], multi: bool) -> list[str]:
|
def _fzf_select(lines: list[str], multi: bool) -> list[str]:
|
||||||
if not lines:
|
if not lines:
|
||||||
return []
|
return []
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ def validate_x_link(line: str) -> str:
|
|||||||
if re.search(r"\/media$", line):
|
if re.search(r"\/media$", line):
|
||||||
return line
|
return line
|
||||||
# if does not contain /media at the end then add /media
|
# if does not contain /media at the end then add /media
|
||||||
return f"{line}/media"
|
return f"{line.rstrip('/')}/media"
|
||||||
|
|
||||||
|
|
||||||
def parse_link(link: str) -> str:
|
def parse_link(link: str) -> str:
|
||||||
|
|||||||
Reference in New Issue
Block a user