about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--src/scadere/listen.py10
2 files changed, 6 insertions, 6 deletions
diff --git a/README.md b/README.md
index 11237b9..41dfdf5 100644
--- a/README.md
+++ b/README.md
@@ -67,7 +67,7 @@ Options:
   -h, --help            show this help message and exit
   -v, --version         show program's version number and exit
   -t TITLE, --title=TITLE
-                        title of Atom feeds
+                        title of Atom feeds (default to PATH's filename)
 ```
 
 A sample `scadere-listen.service` for systemd
diff --git a/src/scadere/listen.py b/src/scadere/listen.py
index 18f5323..cc08cd1 100644
--- a/src/scadere/listen.py
+++ b/src/scadere/listen.py
@@ -229,7 +229,7 @@ def write_xml(writer, http_version, application, func, *args):
         writer.write(content)
 
 
-async def handle(certs, base_url, reader, writer, title=None):
+async def handle(certs, base_url, reader, writer, title=''):
     """Handle HTTP request."""
     try:
         try:
@@ -262,8 +262,6 @@ async def handle(certs, base_url, reader, writer, title=None):
             assert len(lookup) == len(summaries)
             url_parts = urlsplit(urljoin(base_url, url.strip().decode()))
             domains = tuple(parse_qs(url_parts.query).get('domain', []))
-            if title is None:
-                title = certs.name
         except Exception:  # pragma: no cover
             describe_status(writer, HTTPStatus.INTERNAL_SERVER_ERROR,
                             http_version)
@@ -271,7 +269,7 @@ async def handle(certs, base_url, reader, writer, title=None):
 
         if url_parts.path == urlsplit(base_url).path:  # Atom feed
             write_xml(writer, http_version, 'atom', unparsed_feed,
-                      base_url, title, mtime, summaries, domains)
+                      base_url, title or certs.name, mtime, summaries, domains)
         elif url_parts.path in lookup:  # accessible Atom entry's link/ID
             write_xml(writer, http_version, 'xhtml', unparsed_page,
                       lookup.get(url_parts.path))
@@ -326,7 +324,9 @@ def main(prog=basename(argv[0]), arguments=argv[1:]):
     parser.add_argument('-v', '--version', action='version',
                         version=format_version('scadere-listen',
                                                '2025', 'Nguyễn Gia Phong'))
-    parser.add_argument('-t', '--title', help='title of Atom feeds')
+    parser.add_argument('-t', '--title', default='',
+                        help=('title of Atom feeds'
+                              " (default to PATH's filename)"))
     parser.add_argument('certs', metavar='PATH', type=Path)
     parser.add_argument('base_url', metavar='URL', type=with_trailing_slash)
     parser.add_argument('netloc', metavar='[HOST][:PORT]', nargs='?',