amarao (amarao_san) wrote,
amarao
amarao_san

singlemv

Собственно, вот оно. Особых фич нет, но то, что должно делать - делает.

#!/usr/bin/python
# GPL
import sys,os, cPickle


#minimalistic command line:
#1st argument - memory file
#2nd - pre-last - files to be moved 
#last - destignation (where to be moved)

def singlemv(memory,from_list,to):
#return new memory mode
    to_move=frozenset(from_list) - memory
    errors=set()
    for f in to_move:
        try:
            os.rename(f, os.path.join(to,os.path.basename(f)))
        except:
            print "error move %s to %s", f, to
            errors.add(f)
    return memory|(to_move-errors)
    

def __main__():
    if len(sys.argv)<4:
        print "Usage: singlemv.py memory_file from to"
        exit(-1)
    try:
        memory_file=file(sys.argv[1],"r")
        memory=cPickle.load(memory_file)
        memory_file.close()
        if type(memory) != type (frozenset()):
            print "bad memory file"
            exit(1)
    except IOError, OSError:
        memory=frozenset()
    newmem=singlemv(memory,sys.argv[2:-1],sys.argv[-1])
    memory_file=file(sys.argv[1],"w")
    cPickle.dump(newmem,memory_file)
    memory_file.close()

__main__()
Subscribe

  • Модель угроз

    (по мотивам с хабра) Моя модель угроз, против которой я внедряю криптографию, включает: 1. Случайного любопытствующего. 2. Средней руки…

  • (рабочее)

    И всё-таки насколько системы управления конфигурациями осложняют жизнь и отладку - словами не описать. Вместо "пошёл и сделал" - сложный ритуал,…

  • (рабочее)

    Всё-таки построение мониторинга в любой крупной системе - это самая сложная и постепенная задача. Для продукта обычно есть некий минимальный объём…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment