Simple media ingest script

Can the electrostatic force be infinite in magnitude?

What do you call the infoboxes with text and sometimes images on the side of a page we find in textbooks?

In Star Trek IV, why did the Bounty go back to a time when whales were already rare?

Greatest common substring

I'm in charge of equipment buying but no one's ever happy with what I choose. How to fix this?

Lifted its hind leg on or lifted its hind leg towards?

Is the next prime number always the next number divisible by the current prime number, except for any numbers previously divisible by primes?

Why are all the doors on Ferenginar (the Ferengi home world) far shorter than the average Ferengi?

Is infinity mathematically observable?

What should I use for Mishna study?

Hostile work environment after whistle-blowing on coworker and our boss. What do I do?

Calculating the number of days between 2 dates in Excel

What will be the benefits of Brexit?

Should my PhD thesis be submitted under my legal name?

Can a malicious addon access internet history and such in chrome/firefox?

Can I Retrieve Email Addresses from BCC?

Invariance of results when scaling explanatory variables in logistic regression, is there a proof?

Proof of Lemma: Every integer can be written as a product of primes

I2C signal and power over long range (10meter cable)

Female=gender counterpart?

How will losing mobility of one hand affect my career as a programmer?

Is a naturally all "male" species possible?

Are taller landing gear bad for aircraft, particulary large airliners?

Pronouncing Homer as in modern Greek



Simple media ingest script














0












$begingroup$


Trying to script a simple command line tool for ingesting media to a target location following a structured naming convention.



It's functional in its current state but I'd like to know if there are things to improve.



!/usr/local/bin/bash



make target directory for transfer



make_directory()

echo -e "nnFollow the prompt to create a project directory.nn"
sleep .5

while [[ -z "$target_directory" ]]
do
echo -e "Path of target directory?"
read target_directory
done

while [[ -z "$brand" ]]
do
echo -e "nBrand Prefix?"
read brand
done

while [[ -z "$project" ]]
do
echo -e "nProject Name?"
read project
done

while [[ -z "$media_type" ]]
do
echo -e "nMedia Type?"
read media_type
done

while [[ -z "$location" ]]
do
echo -e "nLocation?"
read location
done

while [[ -z "$employee" ]]
do
echo -e "nEmployee?"
read employee
done

path=$target_directory/$(date +'%Y%m%d')_$brand_$project_$media_type_$location_$employee

echo -e "nCreating directory: $pathnn"

mkdir -p "$path"




construct rsync command



construct_rsync()

echo -e "nnFollow the prompt to construct the rsync command.nn"
while [[ -z "$source_path" ]]
do
echo -e "Path to source media?"
read source_path
done

if [[ "$option" == "2" ]]; then
while [[ -z "$target_directory" ]]
do
echo -e "Target directory?"
read destination_path
done
path=$target_directory
fi

while true;
do
read -p "Additional rsync options? [y/n] " rsync_add
case $rsync_add in
[Yy]* )
echo -e "nEnter additional rsync parameters:"
read rsync_options
break;;
[Nn]* )
break;;
*) echo "Please enter y or no!"
esac
done

echo -e "nConstructing rsync command...n"
sleep .5
echo -e "Running rsync command:n
rsync n
-r n
--info=progress2 n
--log-file=$path/$(date +'%Y%m%d')_transfer_log.txt n
$rsync_options n
$source_path/ n
$path n"

rsync -r --info=progress2 --log-file="$path/$(date +'%Y%m%d')_transfer_log.txt" $rsync_options "$source_path/" "$path"



log exit code of rsync



log()

echo -e "nCreating error log..."
echo $? > "$path/error_log.txt"

sleep .5

if [[ "$?" == "0" ]]; then
echo -e "nTransfer complete!"
elif [[ "$?" != "0" ]]; then
echo -e "nError in transfer! Please refer to error_log.txt!"
fi



read user input and run appropriate functions



while true
do
read -p "Enter [1] to start an ingest or [2] to complete a partial ingest. " option



 case $option in

1 )
make_directory
sleep .5
construct_rsync
sleep .5
log
break;;
2 )
construct_rsync
sleep .5
log
break;;
* )
echo "Please enter a valid option!";;
esac


done









share







New contributor




usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$
















    0












    $begingroup$


    Trying to script a simple command line tool for ingesting media to a target location following a structured naming convention.



    It's functional in its current state but I'd like to know if there are things to improve.



    !/usr/local/bin/bash



    make target directory for transfer



    make_directory()

    echo -e "nnFollow the prompt to create a project directory.nn"
    sleep .5

    while [[ -z "$target_directory" ]]
    do
    echo -e "Path of target directory?"
    read target_directory
    done

    while [[ -z "$brand" ]]
    do
    echo -e "nBrand Prefix?"
    read brand
    done

    while [[ -z "$project" ]]
    do
    echo -e "nProject Name?"
    read project
    done

    while [[ -z "$media_type" ]]
    do
    echo -e "nMedia Type?"
    read media_type
    done

    while [[ -z "$location" ]]
    do
    echo -e "nLocation?"
    read location
    done

    while [[ -z "$employee" ]]
    do
    echo -e "nEmployee?"
    read employee
    done

    path=$target_directory/$(date +'%Y%m%d')_$brand_$project_$media_type_$location_$employee

    echo -e "nCreating directory: $pathnn"

    mkdir -p "$path"




    construct rsync command



    construct_rsync()

    echo -e "nnFollow the prompt to construct the rsync command.nn"
    while [[ -z "$source_path" ]]
    do
    echo -e "Path to source media?"
    read source_path
    done

    if [[ "$option" == "2" ]]; then
    while [[ -z "$target_directory" ]]
    do
    echo -e "Target directory?"
    read destination_path
    done
    path=$target_directory
    fi

    while true;
    do
    read -p "Additional rsync options? [y/n] " rsync_add
    case $rsync_add in
    [Yy]* )
    echo -e "nEnter additional rsync parameters:"
    read rsync_options
    break;;
    [Nn]* )
    break;;
    *) echo "Please enter y or no!"
    esac
    done

    echo -e "nConstructing rsync command...n"
    sleep .5
    echo -e "Running rsync command:n
    rsync n
    -r n
    --info=progress2 n
    --log-file=$path/$(date +'%Y%m%d')_transfer_log.txt n
    $rsync_options n
    $source_path/ n
    $path n"

    rsync -r --info=progress2 --log-file="$path/$(date +'%Y%m%d')_transfer_log.txt" $rsync_options "$source_path/" "$path"



    log exit code of rsync



    log()

    echo -e "nCreating error log..."
    echo $? > "$path/error_log.txt"

    sleep .5

    if [[ "$?" == "0" ]]; then
    echo -e "nTransfer complete!"
    elif [[ "$?" != "0" ]]; then
    echo -e "nError in transfer! Please refer to error_log.txt!"
    fi



    read user input and run appropriate functions



    while true
    do
    read -p "Enter [1] to start an ingest or [2] to complete a partial ingest. " option



     case $option in

    1 )
    make_directory
    sleep .5
    construct_rsync
    sleep .5
    log
    break;;
    2 )
    construct_rsync
    sleep .5
    log
    break;;
    * )
    echo "Please enter a valid option!";;
    esac


    done









    share







    New contributor




    usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$














      0












      0








      0





      $begingroup$


      Trying to script a simple command line tool for ingesting media to a target location following a structured naming convention.



      It's functional in its current state but I'd like to know if there are things to improve.



      !/usr/local/bin/bash



      make target directory for transfer



      make_directory()

      echo -e "nnFollow the prompt to create a project directory.nn"
      sleep .5

      while [[ -z "$target_directory" ]]
      do
      echo -e "Path of target directory?"
      read target_directory
      done

      while [[ -z "$brand" ]]
      do
      echo -e "nBrand Prefix?"
      read brand
      done

      while [[ -z "$project" ]]
      do
      echo -e "nProject Name?"
      read project
      done

      while [[ -z "$media_type" ]]
      do
      echo -e "nMedia Type?"
      read media_type
      done

      while [[ -z "$location" ]]
      do
      echo -e "nLocation?"
      read location
      done

      while [[ -z "$employee" ]]
      do
      echo -e "nEmployee?"
      read employee
      done

      path=$target_directory/$(date +'%Y%m%d')_$brand_$project_$media_type_$location_$employee

      echo -e "nCreating directory: $pathnn"

      mkdir -p "$path"




      construct rsync command



      construct_rsync()

      echo -e "nnFollow the prompt to construct the rsync command.nn"
      while [[ -z "$source_path" ]]
      do
      echo -e "Path to source media?"
      read source_path
      done

      if [[ "$option" == "2" ]]; then
      while [[ -z "$target_directory" ]]
      do
      echo -e "Target directory?"
      read destination_path
      done
      path=$target_directory
      fi

      while true;
      do
      read -p "Additional rsync options? [y/n] " rsync_add
      case $rsync_add in
      [Yy]* )
      echo -e "nEnter additional rsync parameters:"
      read rsync_options
      break;;
      [Nn]* )
      break;;
      *) echo "Please enter y or no!"
      esac
      done

      echo -e "nConstructing rsync command...n"
      sleep .5
      echo -e "Running rsync command:n
      rsync n
      -r n
      --info=progress2 n
      --log-file=$path/$(date +'%Y%m%d')_transfer_log.txt n
      $rsync_options n
      $source_path/ n
      $path n"

      rsync -r --info=progress2 --log-file="$path/$(date +'%Y%m%d')_transfer_log.txt" $rsync_options "$source_path/" "$path"



      log exit code of rsync



      log()

      echo -e "nCreating error log..."
      echo $? > "$path/error_log.txt"

      sleep .5

      if [[ "$?" == "0" ]]; then
      echo -e "nTransfer complete!"
      elif [[ "$?" != "0" ]]; then
      echo -e "nError in transfer! Please refer to error_log.txt!"
      fi



      read user input and run appropriate functions



      while true
      do
      read -p "Enter [1] to start an ingest or [2] to complete a partial ingest. " option



       case $option in

      1 )
      make_directory
      sleep .5
      construct_rsync
      sleep .5
      log
      break;;
      2 )
      construct_rsync
      sleep .5
      log
      break;;
      * )
      echo "Please enter a valid option!";;
      esac


      done









      share







      New contributor




      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      Trying to script a simple command line tool for ingesting media to a target location following a structured naming convention.



      It's functional in its current state but I'd like to know if there are things to improve.



      !/usr/local/bin/bash



      make target directory for transfer



      make_directory()

      echo -e "nnFollow the prompt to create a project directory.nn"
      sleep .5

      while [[ -z "$target_directory" ]]
      do
      echo -e "Path of target directory?"
      read target_directory
      done

      while [[ -z "$brand" ]]
      do
      echo -e "nBrand Prefix?"
      read brand
      done

      while [[ -z "$project" ]]
      do
      echo -e "nProject Name?"
      read project
      done

      while [[ -z "$media_type" ]]
      do
      echo -e "nMedia Type?"
      read media_type
      done

      while [[ -z "$location" ]]
      do
      echo -e "nLocation?"
      read location
      done

      while [[ -z "$employee" ]]
      do
      echo -e "nEmployee?"
      read employee
      done

      path=$target_directory/$(date +'%Y%m%d')_$brand_$project_$media_type_$location_$employee

      echo -e "nCreating directory: $pathnn"

      mkdir -p "$path"




      construct rsync command



      construct_rsync()

      echo -e "nnFollow the prompt to construct the rsync command.nn"
      while [[ -z "$source_path" ]]
      do
      echo -e "Path to source media?"
      read source_path
      done

      if [[ "$option" == "2" ]]; then
      while [[ -z "$target_directory" ]]
      do
      echo -e "Target directory?"
      read destination_path
      done
      path=$target_directory
      fi

      while true;
      do
      read -p "Additional rsync options? [y/n] " rsync_add
      case $rsync_add in
      [Yy]* )
      echo -e "nEnter additional rsync parameters:"
      read rsync_options
      break;;
      [Nn]* )
      break;;
      *) echo "Please enter y or no!"
      esac
      done

      echo -e "nConstructing rsync command...n"
      sleep .5
      echo -e "Running rsync command:n
      rsync n
      -r n
      --info=progress2 n
      --log-file=$path/$(date +'%Y%m%d')_transfer_log.txt n
      $rsync_options n
      $source_path/ n
      $path n"

      rsync -r --info=progress2 --log-file="$path/$(date +'%Y%m%d')_transfer_log.txt" $rsync_options "$source_path/" "$path"



      log exit code of rsync



      log()

      echo -e "nCreating error log..."
      echo $? > "$path/error_log.txt"

      sleep .5

      if [[ "$?" == "0" ]]; then
      echo -e "nTransfer complete!"
      elif [[ "$?" != "0" ]]; then
      echo -e "nError in transfer! Please refer to error_log.txt!"
      fi



      read user input and run appropriate functions



      while true
      do
      read -p "Enter [1] to start an ingest or [2] to complete a partial ingest. " option



       case $option in

      1 )
      make_directory
      sleep .5
      construct_rsync
      sleep .5
      log
      break;;
      2 )
      construct_rsync
      sleep .5
      log
      break;;
      * )
      echo "Please enter a valid option!";;
      esac


      done







      bash





      share







      New contributor




      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 2 mins ago









      usulmuaddibusulmuaddib

      1




      1




      New contributor




      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          0






          active

          oldest

          votes











          Your Answer





          StackExchange.ifUsing("editor", function ()
          return StackExchange.using("mathjaxEditing", function ()
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          );
          );
          , "mathjax-editing");

          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "196"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          usulmuaddib is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f216201%2fsimple-media-ingest-script%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          usulmuaddib is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          usulmuaddib is a new contributor. Be nice, and check out our Code of Conduct.












          usulmuaddib is a new contributor. Be nice, and check out our Code of Conduct.











          usulmuaddib is a new contributor. Be nice, and check out our Code of Conduct.














          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f216201%2fsimple-media-ingest-script%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          कुँवर स्रोत दिक्चालन सूची"कुँवर""राणा कुँवरके वंशावली"

          Why is a white electrical wire connected to 2 black wires?How to wire a light fixture with 3 white wires in box?How should I wire a ceiling fan when there's only three wires in the box?Two white, two black, two ground, and red wire in ceiling box connected to switchWhy is there a white wire connected to multiple black wires in my light box?How to wire a light with two white wires and one black wireReplace light switch connected to a power outlet with dimmer - two black wires to one black and redHow to wire a light with multiple black/white/green wires from the ceiling?Ceiling box has 2 black and white wires but fan/ light only has 1 of eachWhy neutral wire connected to load wire?Switch with 2 black, 2 white, 2 ground and 1 red wire connected to ceiling light and a receptacle?

          चैत्य भूमि चित्र दीर्घा सन्दर्भ बाहरी कडियाँ दिक्चालन सूची"Chaitya Bhoomi""Chaitya Bhoomi: Statue of Equality in India""Dadar Chaitya Bhoomi: Statue of Equality in India""Ambedkar memorial: Centre okays transfer of Indu Mill land"चैत्यभमि