wordpress-markdown-blog-loader 1.5.0__tar.gz → 1.5.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/PKG-INFO +2 -2
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/README.md +1 -1
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/setup.py +1 -1
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader/api.py +39 -18
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader.egg-info/PKG-INFO +2 -2
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/LICENSE +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/setup.cfg +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader/__init__.py +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader/__main__.py +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader/blog.py +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader/check_links.py +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader/download.py +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader/name_to_email.py +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader/new.py +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader/remove_newlines.py +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader/upload.py +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader.egg-info/SOURCES.txt +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader.egg-info/dependency_links.txt +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader.egg-info/entry_points.txt +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader.egg-info/not-zip-safe +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader.egg-info/requires.txt +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/src/wordpress_markdown_blog_loader.egg-info/top_level.txt +0 -0
- {wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/tests/test_blog.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: wordpress-markdown-blog-loader
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.2
|
|
4
4
|
Summary: load markdown blogs into wordpress
|
|
5
5
|
Home-page: https://github.com/binxio/wordpress-markdown-blog-loader
|
|
6
6
|
Author: Mark van Holsteijn
|
|
@@ -113,7 +113,7 @@ alias wp-md='docker run \
|
|
|
113
113
|
-v $HOME:$HOME \
|
|
114
114
|
-v $HOME/.wordpress.ini:/root/.wordpress.ini \
|
|
115
115
|
-v $PWD:/$PWD \
|
|
116
|
-
-w $PWD ghcr.io/binxio/wordpress-markdown-blog-loader:1.5.
|
|
116
|
+
-w $PWD ghcr.io/binxio/wordpress-markdown-blog-loader:1.5.2
|
|
117
117
|
```'
|
|
118
118
|
Assuming that your WordPress app password is stored in the 1password Private vault under the name `wordpress app password`
|
|
119
119
|
|
|
@@ -67,7 +67,7 @@ alias wp-md='docker run \
|
|
|
67
67
|
-v $HOME:$HOME \
|
|
68
68
|
-v $HOME/.wordpress.ini:/root/.wordpress.ini \
|
|
69
69
|
-v $PWD:/$PWD \
|
|
70
|
-
-w $PWD ghcr.io/binxio/wordpress-markdown-blog-loader:1.5.
|
|
70
|
+
-w $PWD ghcr.io/binxio/wordpress-markdown-blog-loader:1.5.2
|
|
71
71
|
```'
|
|
72
72
|
Assuming that your WordPress app password is stored in the 1password Private vault under the name `wordpress app password`
|
|
73
73
|
|
|
@@ -27,7 +27,7 @@ with open(path.join(this_directory, "README.md"), encoding="utf-8") as f:
|
|
|
27
27
|
|
|
28
28
|
setup(
|
|
29
29
|
name="wordpress-markdown-blog-loader",
|
|
30
|
-
version="1.5.
|
|
30
|
+
version="1.5.2",
|
|
31
31
|
url="https://github.com/binxio/wordpress-markdown-blog-loader",
|
|
32
32
|
license="APL2",
|
|
33
33
|
author="Mark van Holsteijn",
|
|
@@ -25,6 +25,7 @@ def get_default_host() -> Optional[str]:
|
|
|
25
25
|
config.read(expanduser("~/.wordpress.ini"))
|
|
26
26
|
return config.defaults().get("host")
|
|
27
27
|
|
|
28
|
+
|
|
28
29
|
def get_password(host: str) -> Optional[str]:
|
|
29
30
|
"""
|
|
30
31
|
Returns a password from the environment variable for the specified host.
|
|
@@ -65,7 +66,6 @@ class WordpressEndpoint:
|
|
|
65
66
|
config = configparser.ConfigParser()
|
|
66
67
|
config.read(expanduser("~/.wordpress.ini"))
|
|
67
68
|
|
|
68
|
-
|
|
69
69
|
if not host:
|
|
70
70
|
host = config.defaults().get("host")
|
|
71
71
|
assert host, "no host specified and no default host found"
|
|
@@ -77,7 +77,9 @@ class WordpressEndpoint:
|
|
|
77
77
|
self.username = config.get(host, "username")
|
|
78
78
|
self.password = get_password(host)
|
|
79
79
|
if not self.password:
|
|
80
|
-
logging.warning(
|
|
80
|
+
logging.warning(
|
|
81
|
+
"taking plain text app password from configuration file, use WP_APP_PASSWORD environment variable instead!"
|
|
82
|
+
)
|
|
81
83
|
self.password = config.get(host, "password")
|
|
82
84
|
|
|
83
85
|
def is_host_for(self, url: Union[str, ParseResult]) -> bool:
|
|
@@ -267,6 +269,7 @@ class PermissionDenied(Exception):
|
|
|
267
269
|
def __init__(self, msg):
|
|
268
270
|
super().__init__(msg)
|
|
269
271
|
|
|
272
|
+
|
|
270
273
|
class Wordpress(object):
|
|
271
274
|
def __init__(self, host: Optional[str] = None):
|
|
272
275
|
self.endpoint = WordpressEndpoint.load(host)
|
|
@@ -312,7 +315,7 @@ class Wordpress(object):
|
|
|
312
315
|
page = page + 1
|
|
313
316
|
else:
|
|
314
317
|
msg = f"failed to get all {resource}: {response.status_code}, {response.text}"
|
|
315
|
-
if response.status_code in [401,403]:
|
|
318
|
+
if response.status_code in [401, 403]:
|
|
316
319
|
raise PermissionDenied(msg)
|
|
317
320
|
else:
|
|
318
321
|
print(msg)
|
|
@@ -326,13 +329,14 @@ class Wordpress(object):
|
|
|
326
329
|
def get_user_by_id(self, resource_id: int) -> "User":
|
|
327
330
|
return User(self.get("users", resource_id))
|
|
328
331
|
|
|
329
|
-
def get_unique_user_by_name(
|
|
332
|
+
def get_unique_user_by_name(
|
|
333
|
+
self, name: str, email: Optional[str], author_id: Optional[str]
|
|
334
|
+
) -> "User":
|
|
330
335
|
|
|
331
336
|
user = self.get_user_by_id("me")
|
|
332
337
|
if user and user.name == name:
|
|
333
338
|
return user
|
|
334
339
|
|
|
335
|
-
|
|
336
340
|
users = []
|
|
337
341
|
try:
|
|
338
342
|
# The email field is only returned when the context edit is passed.
|
|
@@ -347,17 +351,34 @@ class Wordpress(object):
|
|
|
347
351
|
elif len(users) == 1:
|
|
348
352
|
return users[0]
|
|
349
353
|
|
|
350
|
-
user
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
354
|
+
if user := next(
|
|
355
|
+
filter(
|
|
356
|
+
lambda u: (author_id and u.slug == author_id)
|
|
357
|
+
or (
|
|
358
|
+
not author_id
|
|
359
|
+
and email
|
|
360
|
+
and u.email
|
|
361
|
+
and u.email.lower() == email.lower()
|
|
362
|
+
),
|
|
363
|
+
users,
|
|
364
|
+
),
|
|
365
|
+
None,
|
|
366
|
+
):
|
|
367
|
+
return user
|
|
368
|
+
|
|
369
|
+
candidates = ", ".join(["{} / {}".format(u.slug, u.email) for u in users])
|
|
370
|
+
if author_id:
|
|
371
|
+
raise ValueError(
|
|
372
|
+
f"Multiple authors named '{name}' found, none with author id {author_id} (possible: {candidates})."
|
|
373
|
+
)
|
|
374
|
+
elif email:
|
|
375
|
+
raise ValueError(
|
|
376
|
+
f"Multiple authors named '{name}' found, but none with email {email}. (possible: {candidates})."
|
|
377
|
+
)
|
|
378
|
+
else:
|
|
379
|
+
raise ValueError(
|
|
380
|
+
f"Multiple authors named '{name}' found. (possible: {candidates})."
|
|
381
|
+
)
|
|
361
382
|
|
|
362
383
|
def posts(self, query: dict = None) -> Iterator["Post"]:
|
|
363
384
|
for p in self.get_all("posts", query):
|
|
@@ -388,10 +409,11 @@ class Wordpress(object):
|
|
|
388
409
|
@cache
|
|
389
410
|
def categories(self) -> Dict[str, int]:
|
|
390
411
|
return {c["slug"]: c["id"] for c in self.get_all("categories")}
|
|
412
|
+
|
|
391
413
|
@property
|
|
392
414
|
@cache
|
|
393
415
|
def categories_by_id(self) -> Dict[int, str]:
|
|
394
|
-
return {id: slug for slug,id in self.categories.items()}
|
|
416
|
+
return {id: slug for slug, id in self.categories.items()}
|
|
395
417
|
|
|
396
418
|
@property
|
|
397
419
|
@cache
|
|
@@ -403,7 +425,6 @@ class Wordpress(object):
|
|
|
403
425
|
def tags_by_id(self) -> Dict[int, str]:
|
|
404
426
|
return {id: slug for slug, id in self.tags.items()}
|
|
405
427
|
|
|
406
|
-
|
|
407
428
|
def search_for_image_by_slug(self, slug) -> Optional[Medium]:
|
|
408
429
|
response = self.session.get(
|
|
409
430
|
f"{self.url}/media",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: wordpress-markdown-blog-loader
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.2
|
|
4
4
|
Summary: load markdown blogs into wordpress
|
|
5
5
|
Home-page: https://github.com/binxio/wordpress-markdown-blog-loader
|
|
6
6
|
Author: Mark van Holsteijn
|
|
@@ -113,7 +113,7 @@ alias wp-md='docker run \
|
|
|
113
113
|
-v $HOME:$HOME \
|
|
114
114
|
-v $HOME/.wordpress.ini:/root/.wordpress.ini \
|
|
115
115
|
-v $PWD:/$PWD \
|
|
116
|
-
-w $PWD ghcr.io/binxio/wordpress-markdown-blog-loader:1.5.
|
|
116
|
+
-w $PWD ghcr.io/binxio/wordpress-markdown-blog-loader:1.5.2
|
|
117
117
|
```'
|
|
118
118
|
Assuming that your WordPress app password is stored in the 1password Private vault under the name `wordpress app password`
|
|
119
119
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wordpress_markdown_blog_loader-1.5.0 → wordpress_markdown_blog_loader-1.5.2}/tests/test_blog.py
RENAMED
|
File without changes
|