Added simple debug logging option.
This commit is contained in:
parent
cf1674735d
commit
a6d463da88
@ -7,10 +7,11 @@ The script tracks changes using MD5 hashes and ensures the database
|
|||||||
reflects the current state of the markdown file.
|
reflects the current state of the markdown file.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
import sqlite3
|
import sqlite3
|
||||||
import hashlib
|
import hashlib
|
||||||
import argparse
|
import argparse
|
||||||
import os
|
import logging
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import List, Tuple, Optional
|
from typing import List, Tuple, Optional
|
||||||
from markdown_it import MarkdownIt
|
from markdown_it import MarkdownIt
|
||||||
@ -154,6 +155,7 @@ class MarkdownProcessor:
|
|||||||
|
|
||||||
def clear_document_content(self, document_id: int) -> None:
|
def clear_document_content(self, document_id: int) -> None:
|
||||||
"""Clear existing content for a document in the database."""
|
"""Clear existing content for a document in the database."""
|
||||||
|
logging.debug(f"!! DELETING FROM DATABASE, document_id: {document_id}")
|
||||||
self.db_manager.cursor.execute('DELETE FROM headings WHERE document_id = ?', (document_id,))
|
self.db_manager.cursor.execute('DELETE FROM headings WHERE document_id = ?', (document_id,))
|
||||||
self.db_manager.cursor.execute('DELETE FROM body WHERE document_id = ?', (document_id,))
|
self.db_manager.cursor.execute('DELETE FROM body WHERE document_id = ?', (document_id,))
|
||||||
|
|
||||||
@ -162,6 +164,10 @@ class MarkdownProcessor:
|
|||||||
parent_stack: List[Tuple[int, int]] = [] # (level, heading_id)
|
parent_stack: List[Tuple[int, int]] = [] # (level, heading_id)
|
||||||
current_heading_id = None
|
current_heading_id = None
|
||||||
for token in tokens:
|
for token in tokens:
|
||||||
|
content_preview = ' '.join(token.content.split()[:10]) + '...' \
|
||||||
|
if len(token.content.split()) > 10 else token.content
|
||||||
|
|
||||||
|
logging.debug(f"Processing token: {token.type}, content: {content_preview}")
|
||||||
if token.type == 'heading_open':
|
if token.type == 'heading_open':
|
||||||
level = int(token.tag.strip('h'))
|
level = int(token.tag.strip('h'))
|
||||||
content_token = tokens[tokens.index(token) + 1]
|
content_token = tokens[tokens.index(token) + 1]
|
||||||
@ -319,10 +325,6 @@ class TopicReader:
|
|||||||
"""
|
"""
|
||||||
Fetch all subtopics that are children of the given heading.
|
Fetch all subtopics that are children of the given heading.
|
||||||
|
|
||||||
Args:
|
|
||||||
heading_id (int): The parent heading ID.
|
|
||||||
parent_level (int): The level of the parent heading.
|
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
List of tuples containing the subtopic's ID, level, and title.
|
List of tuples containing the subtopic's ID, level, and title.
|
||||||
"""
|
"""
|
||||||
@ -458,6 +460,7 @@ def main():
|
|||||||
topic_title: Optional topic for content selection (fuzzy matching enabled).
|
topic_title: Optional topic for content selection (fuzzy matching enabled).
|
||||||
--bootstrap: If provided, generates markdown calendar for the current year and loads it to the database.
|
--bootstrap: If provided, generates markdown calendar for the current year and loads it to the database.
|
||||||
--ls: If provided, lists all available headings.
|
--ls: If provided, lists all available headings.
|
||||||
|
--html: If provided, will produce {filename}.html file along the markdown file.
|
||||||
"""
|
"""
|
||||||
# Set up command-line argument parsing
|
# Set up command-line argument parsing
|
||||||
parser = argparse.ArgumentParser(description='Process markdown file and optionally select a topic.')
|
parser = argparse.ArgumentParser(description='Process markdown file and optionally select a topic.')
|
||||||
@ -467,8 +470,13 @@ def main():
|
|||||||
parser.add_argument('--bootstrap', action='store_true', help='Generate markdown calendar for the current year and load it to the database.')
|
parser.add_argument('--bootstrap', action='store_true', help='Generate markdown calendar for the current year and load it to the database.')
|
||||||
parser.add_argument('--ls', action='store_true', help='List all available headings.')
|
parser.add_argument('--ls', action='store_true', help='List all available headings.')
|
||||||
parser.add_argument('--html', action='store_true', help='Generate an HTML version of the output')
|
parser.add_argument('--html', action='store_true', help='Generate an HTML version of the output')
|
||||||
|
parser.add_argument('--debug', action='store_true', help='Enable debug printing')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
# Set up logging
|
||||||
|
logging.basicConfig(level=logging.DEBUG if args.debug else logging.INFO)
|
||||||
|
|
||||||
|
|
||||||
# Use the provided or default file paths
|
# Use the provided or default file paths
|
||||||
markdown_file = args.markdown
|
markdown_file = args.markdown
|
||||||
database_file = args.database
|
database_file = args.database
|
||||||
|
Loading…
Reference in New Issue
Block a user