Προς το περιεχόμενο

Script για πέρασμα photo από Camera


kesmarag

Προτεινόμενες αναρτήσεις

# IMageMagick Package Requires
# based on 
# http://www.linuxjournal.com/content/tech-tip-automaticaly-organize-your-photos-date

if [ -d /run/media/kesmarag/TRANSCEND/DCIM/102OLYMP/ ]; then
echo "Olympus Ε-410 Camera Detected :)"
cd /run/media/kesmarag/TRANSCEND/DCIM/102OLYMP/
for pfiles in *.JPG 
do
	datepath="$(identify -verbose $pfiles | grep DateTimeOri | awk '{print $2}' | sed s%:%_%g)"
	final_path="/mnt/Raid_1T/Photos/Costas/$(echo $datepath | cut -c 1-7)/"
	echo $final_path
	if ! test -e "$final_path"; then
           mkdir -pv "$final_path"
	fi

        echo $pfiles
	Orf_pfiles="$(echo $pfiles | cut -c 1-8).ORF"
        echo $Orf_pfiles

        mv -v $pfiles $final_path
        mv -v $Orf_pfiles $final_path
done

elif [ -d /run/media/kesmarag/TRANSCEND/DCIM/102OLYMP/ ]; then
echo "Canon Camera Detected :)"
cd /run/media/kesmarag/TRANSCEND/DCIM/102OLYMP/
for pfiles in *.JPG 
do
	datepath="$(identify -verbose $pfiles | grep DateTimeOri | awk '{print $2}' | sed s%:%_%g)"
	final_path="/mnt/Raid_1T/Photos/Irene/$(echo $datepath | cut -c 1-7)/"
	echo $final_path
	if ! test -e "$final_path"; then
           mkdir -pv "$final_path"
	fi

        echo $pfiles
        mv -v $pfiles $final_path
done

else
echo "Not found any known camera!"
fi

Είναι ένα απλό scriptaki που εγράψα χωρίς να ξέρω bash από τα συφραζόμενα στο link που αναφέρετε. Στόχος μου είναι να κάνω ένα πιο γενικό ώστε να κάνει μόνο του detection για τις γνώστες φωτογραφικές

αλλά σίγουρα θα θέλει δουλειά και μάλλον θα σταφώ σε python. Τα αρχεια τα περνά σε dir της μορφης 2013_01 και τα διαγράφει από την camera.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν ξερω αν δουλευει ή οχι αλλα για να το κανεις πιο "γενικο" προτεινω τα εξης

 

1. αντι για /run/media/kesmarag/κλπ/κλπ βαλε κατι του στυλ /run/media/`id -u -n`/κλπ/κλπ ...γιατι δεν εχουν ολοι για username το kesmarag (το id -u -n δινει το τρεχον username , πολυ πιθανο να υπαρχουν και αλλοι τροποι να το "παρεις"..αυτος μου ρθε τωρα :) )

 

2. το final path παλι δεν ειναι "γενικο" .Μπορεις να το κανεις π.χ. $ΗΟΜΕ/Photos , που 99% των χρηστων στις 99% των διανομων εχουν τετοιο φακελο.(καλο θα ηταν αν υπαρχει ενας ελεγχος αν υπαρχει αυτος ο φακελος και αν οχι να τον δημιουργει)

 

3. και παλι ο φακελος που ελεγχει για να αναγνωρισει την καμερα μου φαινεται "οχι γενικος".Προφανως στηριχθηκες στις δικες σου καμερες..που πιθανον να εχουν "trascend" καρτα μνημης...αν εχουν αλλη μαρκα τι γινεται ?

 

4. και στους δυο ελεγχους , ελεγχεται ο ιδιος φακελος...αν υπαρχει...πως αυτο διαφοροποιει το ειδος της καμερας? :)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν ξερω αν δουλευει ή οχι αλλα για να το κανεις πιο "γενικο" προτεινω τα εξης

 

1. αντι για /run/media/kesmarag/κλπ/κλπ βαλε κατι του στυλ /run/media/`id -u -n`/κλπ/κλπ ...γιατι δεν εχουν ολοι για username το kesmarag (το id -u -n δινει το τρεχον username , πολυ πιθανο να υπαρχουν και αλλοι τροποι να το "παρεις"..αυτος μου ρθε τωρα :) )

 

2. το final path παλι δεν ειναι "γενικο" .Μπορεις να το κανεις π.χ. $ΗΟΜΕ/Photos , που 99% των χρηστων στις 99% των διανομων εχουν τετοιο φακελο.(καλο θα ηταν αν υπαρχει ενας ελεγχος αν υπαρχει αυτος ο φακελος και αν οχι να τον δημιουργει)

 

3. και παλι ο φακελος που ελεγχει για να αναγνωρισει την καμερα μου φαινεται "οχι γενικος".Προφανως στηριχθηκες στις δικες σου καμερες..που πιθανον να εχουν "trascend" καρτα μνημης...αν εχουν αλλη μαρκα τι γινεται ?

 

4. και στους δυο ελεγχους , ελεγχεται ο ιδιος φακελος...αν υπαρχει...πως αυτο διαφοροποιει το ειδος της καμερας? :)

 

Δουλευει για την e-410 που την έχω δοκιμάσει. Ναι καπως ετσι σκεφτομουν και εγω, το 4 ειναι bug :P , ξεχασα να αλλαξω το path. Βασικα δεν ξέρω bash μαλλόν θα ξεκινίσω σε python ένα τέτοιο project.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ένα παρόμοιο που είχα γράψει παλιά

 

 

#!/bin/bash
IFS=$'\n'

copiedfolder=$1

if [ -e "$copiedfolder" ] ; then
  echo "folder exists"
else
  mkdir -p "$copiedfolder" && echo "folder $copiedfolder does not exist, created"
fi

folders=`ls -I disk*B -I cdrom* -I windows* /media/`

for f in $folders
     do
      for files in `find /media/$f -type f `
      do
    #echo $files
    n=`basename $files`
    #echo $n    
    if [ -e "$copiedfolder/$n" ] || [ -e "$copiedfolder$n" ] ; then
      echo "$files exists"
    else
      cp "$files" "$copiedfolder" && echo "copied $files"
    fi
      done
done

απλά αντιγράφει στο φάκελο που θα του δώσεις ό,τι αρχείο υπάρχει σε ό,τι γίνει mount αφού του έχεις ορίσει ποια να μην κοιτάει από το media

 


 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...