zoukankan      html  css  js  c++  java
  • 博客园自动上传.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个博客,程序并未对此进行检测。可能会在未来更新中进行修复。
  • 相关阅读:
    PPT中的图像失真
    Delphi GDI对象之绘制文本
    iOS App的加固保护原理
    PHP网站渗透中的奇技淫巧:检查相等时的漏洞
    企业安全建设之浅谈数据防泄露
    常见分布式全局唯一ID生成策略及算法的对比
    写时模式”与“读时模式”之间的对比
    工业互联网环境下IT/OT融合的安全防御技术研究
    一文梳理工业控制系统信息安全软件与监控
    威努特iSoc培训
  • 原文地址:https://www.cnblogs.com/nsfoxer/p/14354200.html
Copyright © 2011-2022 走看看