예제 #1
0
def doChangeCreator():
    sql = Text.format(
        "SELECT id, creator, path FROM Pictures WHERE id BETWEEN {0} AND {1}",
        id_start, id_end)
    Common.esc_print("cyan", sql)
    UPDATE = "UPDATE Pictures SET creator='{0}' WHERE id={1}"
    client = mysql.MySQL()
    rows = client.query(sql)
    for row in rows:
        id = row[0]
        creator = row[1]
        path = row[2]
        if creator == "作者":
            ppath = Text.split('/', path)
            lenpath = len(ppath)
            new_creator = ppath[lenpath - 2]
            sql = Text.format(UPDATE, new_creator, id)
            print(sql)
            client.execute(sql)
            print(sql)
        else:
            pass
    return
예제 #2
0
                dp = "'" + dp + "'"
                nd = "'" + nd + "'"
                if dp != nd :
                    lines += f"mv -v {dp} {nd}\n"
                    count += 1
    return lines

# 対象のディレクトリを得る。
if Common.count_args() < 2 :
    Common.stop(9, "対象のディレクトリとスクリプトファイルの保存先(パス)を指定してください。")

# 対象のディレクトリ
dir0 = Common.args()[0]
if not fs.isDirectory(dir0) :
    Common.stop(9, f"{dir0} はディレクトリとして存在しません。")

# スクリプトファイルのパス
savePath = Common.args()[1]


# ディレクトリの名前変更コマンドを作成する。
lines = renameDirs(dir0)

# スクリプトを作成する。
try :
    fs.writeAllText(savePath, lines)
    print(f"\n終わり。{savePath} が作成されました。")
except Exception as e :
    Common.esc_print("red", "エラーを検出。{0}".format(e.message))
    exit(9)
예제 #3
0
            sql = Text.format(UPDATE, new_creator, id)
            print(sql)
            client.execute(sql)
            print(sql)
        else:
            pass
    return


#
#  メイン
# ID の範囲を決める。
id_start = 1
id_end = 1000000
id_range = Common.readline("id の範囲 (nnnn-nnnn) を入力してください。(省略時はすべて)")
if id_range == "":
    Common.esc_print("yellow", "すべての id に対して実行します。(y/n)")
    a = Common.readline(">")
    if y != "y":
        Common.stop(9, "実行を中止しました。")
else:
    nn = Text.split('-', id_range)
    if len(nn) == 2:
        id_start = int(nn[0])
        id_end = int(nn[1])
    else:
        Common.stop(9, "範囲が正しくありません。実行を中止しました。")
    # Pictures テーブルからクエリーを行って対象のデータを得る。
    doChangeCreator()
    print("完了")