Пример #1
0
def show_img_folder() :
  files = fs.listFiles(IMG_FOLDER)
  piclist = "<ul>"
  for f in files :
    fname = fs.getFileName(f.decode())
    piclist += "<li><img src=\"{0}\" /> {1}</li>".format(f.decode(), fname)
  piclist += "</ul>"
  return render_template("show_img_folder.html", piclist=piclist)
Пример #2
0
def api_bindata_insert(folder) :
  files = fs.listFiles(folder, asstr=True)
  count = 0
  try :
    for f in files :
      ext = Text.tolower(fs.getExtension(f))
      if ext in [".jpg", ".jpeg", ".png", ".gif"] :
        util.insertBinaries(f)
        count += 1
  except Exception as e :
    print(str(e))
  return count
Пример #3
0
def api_image_resize(folder, size) :
  files = fs.listFiles(folder, asstr=True)
  count = 0
  try :
    for f in files :
      ext = Text.tolower(fs.getExtension(f))
      if ext in [".jpg", ".jpeg", ".png", ".gif"] :
        util.resizeImage(f, size)
        count += 1
  except Exception as e:
    print(str(e))
  return count
Пример #4
0
def find():
    folder = request.args.get("folder")
    findstr = request.args.get("findstr")
    files = fs.listDirectories(folder, asstr=True) + fs.listFiles(folder,
                                                                  asstr=True)
    items = []
    for f in files:
        if Text.contain(findstr, f):
            items.append(getFileInfo(f))
        else:
            pass
    return jsonify(items)
Пример #5
0
def renameAll(args):
    dir = args[0]
    wild = args[1]
    fix = args[2]
    cols = args[3]
    i = 1
    files = fs.listFiles(dir, wild)
    sortedFiles = sorted(files)
    for fold in sortedFiles:
        ext = fs.getExtension(fold)
        fmt = "{0:0" + cols + "d}"
        fnew = dir + "/" + fix + Text.format(fmt, i) + ext
        cmd = f"mv -v {fold} {fnew}"
        print(cmd)
        i += 1
Пример #6
0
def delete_badchars(folder):
    # 画像ファイル一覧を得る。
    print(folder)
    files = fs.listFiles(folder, asstr=True)
    # 画像ファイルをリネーム
    for fpath in files:
        #fpath = Common.from_bytes(f)
        ext = fs.getExtension(fpath).lower()
        if ext == ".jpg" or ext == ".png" or ext == ".gif":
            fpath_new = fpath.replace("#", "").replace("+", "")
            if fpath != fpath_new:
                print("mv -v '" + fpath + "' '" + fpath_new + "'")
        else:
            print("Non image passed: " + fpath)
    return
Пример #7
0
def list_files():
    folder = request.args.get("folder")
    orderby = request.args.get("orderby")
    hiddenfile = request.args.get("hiddenfile")
    # ディレクトリ一覧
    items1 = []
    folders = fs.listDirectories(folder, asstr=True)
    for f in folders:
        fn = fs.getFileName(f)
        if hiddenfile == 1:  # 隠しファイルを表示する。
            items1.append(getFileInfo(f))  # すべてのフォルダ
        else:
            if not fn.startswith("."):  # 隠しファイル(フォルダ)は表示しない。
                items1.append(getFileInfo(f))
        if orderby == "size" or orderby == "rsize":
            items1 = sortby("name", items1)
        else:
            if len(items1) > 0:
                items1 = sortby(orderby, items1)
    # ファイル一覧
    files = fs.listFiles(folder, asstr=True)
    items2 = []
    for f in files:
        fn = fs.getFileName(f)
        if hiddenfile == 1:  # 隠しファイルを表示する。
            items2.append(getFileInfo(f))  # すべてのファイル
        else:
            if not fn.startswith("."):  # 隠しファイルは表示しない。
                items2.append(getFileInfo(f))
        if len(items2) > 0:
            items2 = sortby(orderby, items2)
    # ディレクトリ一覧とファイル一覧を1つのリストにする。
    items = []
    for i in items1:
        items.append(i)
    for i in items2:
        items.append(i)
    return jsonify(items)
Пример #8
0
#!/usr/bin/env python3

# サブディレクトリ内にあるファイルを自ディレクトリに名前を変えてコピーする。
from Py365Lib import Common, FileSystem as fs, Text

# START
# パラメータ確認
if Common.count_args() < 1:
    Common.stop("Usage : copy_subdir_files.py directory")
mydir = Common.args(0)

# サブディレクトリ一覧を得る。
dirs = fs.listDirectories(mydir, True)

# サブディレクトリごとに繰り返す。
for d in dirs:
    print(d)
    files = fs.listFiles(d, "*", True)
    parts = Text.split("/", d)
    h = parts[len(parts) - 1]
    for f in files:
        f1 = Text.replace("/", "\\", mydir + "/" + h + "/" + fs.getFileName(f))
        f2 = Text.replace("/", "\\", mydir + "/" + h + fs.getFileName(f))
        print(f"copy \"{f1}\" \"{f2}\"")

# 終わり
print("Done.")
Пример #9
0
# ここから開始
if Common.count_args() == 0:
    print("画像縮小専用 Usage: python smalls.py folder size save_path")
    folder = Common.readline(
        "画像ファイルの存在するフォルダパスを入力します。(Enter のみで中止。ファイルサイズと保存先はデフォルト値)> ")
    if folder == "":
        Common.stop("処理を中止しました。")
else:
    folder = Common.args(0)
    if Common.count_args() >= 2:
        SIZE = int(Common.args(1))
    if Common.count_args() >= 3:
        SAVEPATH = Common.args(2)

# 指定されたフォルダ内の画像ファイル一覧を得る。
files = fs.listFiles(folder)

a = Common.readline(
    f"{len(files)} 個のファイルを {SIZE} x {SIZE} 以内に縮小して {SAVEPATH} に保存します。(y/n)")
if a != 'y':
    Common.stop(9, "処理を中断しました。")

if not fs.exists(SAVEPATH):
    fs.mkdir(SAVEPATH)

i = 0
for f in files:
    #fn = f.decode()
    fn = f
    ext = fs.getExtension(fn)
    if (ext == ".jpg" or ext == ".png"):
Пример #10
0
def rename_files(folder):
    # 画像ファイル一覧を得る。
    print(folder)
    files = fs.listFiles(folder, asstr=True)
    # 画像ファイルをリネーム
    for fpath in files:
        #fpath = Common.from_bytes(f)
        ext = fs.getExtension(fpath).lower()
        # 画像ファイルのみを対象にする。
        if ext == ".jpg" or ext == ".png" or ext == ".gif":
            # ファイル名が nnnnnnn_pnn[.jpg] か
            fname = fs.getFileName(fpath)
            ff = Text.split("_", fname)
            if not (ext in ff[1]):
                ff[1] += ext
            if len(ff) == 3:
                # 3分割できて 'master' が含まれる場合は 'master..' 部分を削除する。
                #fname_old = fname
                fname = ff[0] + '_' + ff[1]
                #print(fname_old + " to " + fname)
            elif len(ff) != 2:
                # _ で2分割できない場合(ファイル名の形式が異なる場合)はスキップする。
                print("Skipped " + fname)
                continue
            else:
                # その他の場合は何もしない。(2分割できた場合)
                pass
            # 連続番号部分の形式を確認する。
            sf = ff[1]
            if ff[1].startswith('p'):
                if len(ff[1]) == 6 or (len(ff) == 3 and len(ff[1]) == 2):
                    # 連続番号が1桁の場合
                    sf = "p0" + Text.substring(ff[1], 1)
                    newname = folder + "/" + ff[0] + "_" + sf
                    fs.move(fpath, newname)
                    print("Renamed: " + newname)
                elif len(ff) == 3 and len(ff[1]) == 7:
                    # _master1200 があり連続番号が2桁の場合
                    newname = folder + "/" + fname
                    fs.move(fpath, newname)
                elif len(ff[1]) == 8 or (len(ff) == 3 and len(ff[1]) == 4):
                    # 連続番号が3桁または連続番号が3桁かつ _master1200 がある場合
                    sn = Text.substring(ff[1], 1)
                    if sn == '1':
                        # 連続番号が3桁かつ100番台の場合
                        sf = "q" + Text.substring(ff[1], 2)
                        newname = folder + "/" + ff[0] + "_" + sf
                        fs.move(fpath, newname)
                        print("Renamed: " + newname)
                    elif sn == '2':
                        # 連続番号が3桁かつ200番台の場合
                        sf = "r" + Text.substring(ff[1], 2)
                        newname = folder + "/" + ff[0] + "_" + sf
                        fs.move(fpath, newname)
                        print("Renamed: " + newname)
                    else:
                        # 連続番号が3桁かつ300番台以上の場合はサポートしない(スキップする)
                        pass
                else:
                    # 連続番号が2桁の場合
                    #print("Passed: " + fpath)
                    pass
        else:
            #fs.move(fpath, fpath + ".jpg")
            print("Non image passed: " + fpath)
    return