• 博客园自动上传.md


    cnblog

    简介

    ​ 这是一个cnblog的本地博客自动上传工具。使用python编写,相比其他的博客上传,依赖简单。这个工具参考cnblogs_automatic_blog_uploading。程序没有使用参考所用的githook,而是建立本地数据,追踪新博客和已修改的博客。

    功能

    • 批量化上传
    • 根据文件路径生成相应的标签
    • 能够追踪到未上传的本地博客,已更新的本地博客

    安装

    pip3 install --user pypi-xmlrpc datetime json time argparse
    wget "https://raw.githubusercontent.com/muwuren/MyTools/main/cnblog_upload/cnblog.py"
    

    使用

    $ python cnblog.py -h
    usage: cnblogs [-h] [-d DEPTH] location
    
    本地博客同步
    
    positional arguments:
      location
    
    optional arguments:
      -h, --help            show this help message and exit
      -d DEPTH, --depth DEPTH
                            category start serial
    
    程序将扫描指定的路径,指定路径位置深度0,忽略深度不足的文件,选择所有非隐藏文件夹下的md(markdown)文档上传。
    程序从足够深度的位置开始,将文件的文件夹路径视为标签上传。具有相同文件名和相同标签的文件被视为同一文件。具体请看README.md。
    

    具体说明

    1. -d:指定从location位置开始,忽略的文件深度。
    2. location: 指定搜索的文件位置
    3. 文件依赖depth和location决定其属性(标签),相同文件名,但不同属性被视为不同文件
    4. 文件属性不依赖路径的具体顺序。

    假设有如下的目录:

    image-20210130140200215

    在当前hello路径下执行python cnblog.py -d 0 ./时,将上传hello路径下,mdmarkdown后缀文件。

    1. hello路径下的[1-2].md文件,属性为空,简称A

      hello/Two/Three路径下[1-2].md文件,属性为TwoThree,简称B;

      hello/Three/Two路径下[1-2].md文件,属性为ThreeTwo,简称C。

      A与B、C属性不同,不冲突,A可以正常上传。

      B、C 被看作相同文件,属性相同,均为TwoThree。具体上传哪个位置的文件,依赖python中os.path.listdir()具体实现。

    已知问题

    1. 如果运行时,出现任何错误,请下次运行前需要删除$HOME/.config/cnblog/bloginfo.conf文件。造成此的原因是异常退出,不会保存更新的信息,导致旧信息使用,会造成重复上传。(已更新,目前异常发生时,将会已同步的保存数据)
    2. 每天最多更新(上传)100个博客,程序并未对此进行检测。可能会在未来更新中进行修复。
  • 相关阅读:
    C#字符串转换为数字的4种方法
    Linq to SQL Xml Based
    Code Snippets in Visual Studio 2010
    cygwin 压缩
    Cygwin安装Gitolite3
    ubuntu下如何用命令行运行deb安装包
    iconv bom
    __stdcall型dll转lib
    cygwin install lua modules
    luacom cygwin
  • 原文地址:https://www.cnblogs.com/nsfoxer/p/14354200.html
Copyright © 2020-2023  润新知