Commit 99af8344 authored by Oleg Dzhimiev's avatar Oleg Dzhimiev

rewritten with python

parent 2a17002f
#!/bin/sh #!/usr/bin/env python
production_dir="production" import subprocess, urllib2, os
bkp_dir="uploaded"
#remote_dir="user@192.168.0.121:/path/" remote_dir = "."
remote_dir="." remote_url = "http://community.elphel.com/files/production/"
private_key_path = "/home/user/.ssh/id_rsa"
echo "-------- $0: Archive --------"
cd $production_dir production_dir = "production"
../archive_stp_dxf_pdf_any_year.sh bkp_dir = "uploaded"
rsync = "rsync --ignore-existing -ashvv --exclude */ --exclude README . "+remote_dir
#back up files ssh = ["-e","ssh -i "+private_key_path]
echo "-------- $0: Back Up --------" rsync = rsync.split()
if [ ! -d $bkp_dir ]; then mkdir $bkp_dir; fi rsync.extend(ssh)
for f in *.stp *.dxf *.igs *.dwb *.bmp *.png *.jpg *.pdf~;
do #list of files - needs to be manually saved
if [ -f $f ]; then mv $f $bkp_dir; fi source_files_extensions = [".stp",".dxf",".igs",".dwb",".bmp",".png",".jpg",".pdf~"]
done
production_files_extensions = [".dwb.tar.gz",".dxf.tar.gz",".igs.tar.gz",".jpeg",".pdf",".stp.tar.gz"]
for f in *.pdf; do cp $f $bkp_dir; done # file extension in design/xxxx-xx/xxx.dwb
design_files_extensions = [".dwb"]
echo "-------- $0: Upload --------"
rsync --ignore-existing -a -f '- /*/' . $remote_dir #change to production_dir/
os.chdir(os.getcwd()+"/"+production_dir)
exit 0 #archive and convert file in production_dir
subprocess.check_output("../archive_stp_dxf_pdf_any_year.sh", stderr=subprocess.STDOUT);
#analyze production files
error_counter = 0
for file in os.listdir("."):
if (file.endswith(".dwb.tar.gz")):
file_stripped=file.strip(".dwb.tar.gz")
#download the list of production files
if (urllib2.urlopen(remote_url).read().find(file)!=-1):
print "ERROR("+file_stripped+"): Already in production"
error_counter-=1
else:
for ext in production_files_extensions:
if (not os.path.isfile(file_stripped+ext)):
print "ERROR("+file_stripped+"): Missing production file: "+file_stripped+ext
error_counter-=1
if (error_counter==0):
#move original source files to production_dir/bkp_dir
for ext in source_files_extensions:
#move file to bkp_dir
if (os.path.isfile(file_stripped+ext)): os.rename(os.getcwd()+"/"+file_stripped+ext,os.getcwd()+"/"+bkp_dir+"/"+file_stripped+ext)
#change .dwb to read-only but executable (as git supports only 0644 and 0755)
for ext in design_files_extensions:
#print "Looking for "+file_stripped+ext
for root,dirs,files in os.walk(os.getcwd()+"/../design"):
for name in files:
if (name==file_stripped+ext):
#git supports only 0644 and 0755
os.chmod(os.path.join(root, name),0555)
#commit change
subprocess.check_output(["git","commit","-am","Production"], stderr=subprocess.STDOUT);
break
if (error_counter==0):
#run rsync
subprocess.check_output(rsync, stderr=subprocess.STDOUT)
#move all files from production_dir to production_dir/bkp_dir
for file in os.listdir("."):
if (os.path.isfile(file))and(file!="README"): os.rename(os.getcwd()+"/"+file,os.getcwd()+"/"+bkp_dir+"/"+file)
print "PRE-PUSH HOOK: SUCCESS"
exit(error_counter)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment