diff --git a/edit_script/add_entry.py b/edit_script/add_entry.py deleted file mode 100644 index b5ea354..0000000 --- a/edit_script/add_entry.py +++ /dev/null @@ -1,56 +0,0 @@ -import datetime -FIELDS = ['title', 'subtitle', 'content', 'displayall'] -def add_entry(file_path, title, subtitle, content, display_all=False): - # 1. Import the current list to get the latest ID - # We use a namespace to avoid path issues - namespace = {} - with open(file_path, 'r') as f: - exec(f.read(), namespace) - - posts = namespace.get('BLOG_POSTS', []) - new_id = max([p['id'] for p in posts], default=0) + 1 - print("new id", new_id) - # 2. Format the new entry string - date_str = datetime.datetime.now().strftime("%B %d, %Y") - - new_post_str = f""" - {{ - 'id': {new_id}, - 'title': '{title}', - 'content': \"\"\" - {content} -\"\"\", - 'subtitle': '{subtitle}', - 'date': '{date_str}', - "displayall": {display_all} - }}, - """ - - # 3. Append to the file - # Note: This appends to the END of the file. - # If your file ends with ']', we need to strip that first. - with open(file_path, 'r+') as f: - content_full = f.read().strip() - # Find the last closing bracket of the list - if content_full.endswith(']'): - content_full = content_full.rsplit(']', 1)[0] - - f.seek(0) - f.write(content_full + new_post_str + "\n]") - f.truncate() - - print(f"Successfully added Post #{new_id}: {title}") - -# Usage -if __name__ == "__main__": - #t = input("Title: ") - #s = input("Subtitle: ") - #c = input("Content (HTML): ") - - # title - t = "I have a solution but it only works for spherical chickens in a vacuum!" - # subtitle - s = "" - # content - c = "no content" - add_entry('content/posts.py', t, s, c) \ No newline at end of file diff --git a/edit_script/edit_entry.ipynb b/edit_script/edit_entry.ipynb index 47aa384..6701ccf 100644 --- a/edit_script/edit_entry.ipynb +++ b/edit_script/edit_entry.ipynb @@ -74,51 +74,81 @@ }, { "cell_type": "code", - "execution_count": 5, - "id": "7c80d17a", + "execution_count": 8, + "id": "e94255ff", "metadata": {}, "outputs": [], "source": [ - "FIEL_PATH = \"../content/posts.py\"\n", - "get_entry(FIEL_PATH, 0)" + "import datetime\n", + "FIELDS = ['title', 'subtitle', 'content', 'displayall']\n", + "# id is incremental\n", + "def add_entry(file_path, title, subtitle, content, display_all=False):\n", + " # 1. Import the current list to get the latest ID\n", + " # We use a namespace to avoid path issues\n", + " namespace = {}\n", + " with open(file_path, 'r') as f:\n", + " exec(f.read(), namespace)\n", + " \n", + " posts = namespace.get('BLOG_POSTS', [])\n", + " new_id = max([p['id'] for p in posts], default=0) + 1\n", + " print(\"new id\", new_id)\n", + " # 2. Format the new entry string\n", + " date_str = datetime.datetime.now().strftime(\"%B %d, %Y\")\n", + " \n", + " new_post_str = f\"\"\"\n", + " {{\n", + " 'id': {new_id},\n", + " 'title': '{title}',\n", + " 'content': \\\"\\\"\\\"\n", + " {content}\n", + "\\\"\\\"\\\",\n", + " 'subtitle': '{subtitle}',\n", + " 'date': '{date_str}',\n", + " \"displayall\": {display_all}\n", + " }},\n", + " \"\"\"\n", + "\n", + " # 3. Append to the file\n", + " # Note: This appends to the END of the file. \n", + " # If your file ends with ']', we need to strip that first.\n", + " with open(file_path, 'r+') as f:\n", + " content_full = f.read().strip()\n", + " # Find the last closing bracket of the list\n", + " if content_full.endswith(']'):\n", + " content_full = content_full.rsplit(']', 1)[0]\n", + " \n", + " f.seek(0)\n", + " f.write(content_full + new_post_str + \"\\n]\")\n", + " f.truncate()\n", + "\n", + " print(f\"Successfully added Post #{new_id}: {title}\")\n" ] }, { "cell_type": "code", - "execution_count": null, - "id": "e2048547", + "execution_count": 9, + "id": "7c80d17a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "new id 10\n", + "Successfully added Post #10: test timeline\n" + ] + } + ], "source": [ + "FIEL_PATH = \"../content/posts.py\"\n", + "#get_entry(FIEL_PATH, 0)\n", + "# update_entry(FIEL_PATH, target_id, new_text)\n", + "# add_entry(FIEL_PATH, \"title\", \"subtitle\", new_text)\n", + "text=\"\"\"
sudo pacman -S archlinux-keyring
\n", - "sudo pacman -Sc
\n", - "melange:
\n", - "tree source: codepen @uchardon
tree source: codepen @uchardon
+