%begin of varsfromjobname.sty
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{varsfromjobname}[2017/05/07 v. 1.0 extracts tokens from jobname]
\RequirePackage{ifthen}
\RequirePackage{currfile}

% Author: Uwe Ziegenhagen
% based on code supplied by Friedrich Vosberg and Markus Kohm
% help by Rolf Niepraschk and Sven Naumann, Ulrich Schwarz 
% and Andreas Mathias was greatly appreciated
% see posting <3983639.NRU96H2Y1Y@ID-107054.user.dfncis.de>
% requires the filename to be of the following form
% itemone-itemtwo-itemthree- ... -itemnine.tex

\makeatletter

\newcommand*{\getonefromjobname}{%
  \expandafter\@getonefromfilename\jobname--------\@nil%
}

\newcommand*{\gettwofromjobname}{%
  \expandafter\@gettwofromfilename\jobname--------\@nil%
}

\newcommand*{\getthreefromjobname}{%
  \expandafter\@getthreefromfilename\jobname--------\@nil%
}

\newcommand*{\getfourfromjobname}{%
  \expandafter\@getfourfromfilename\jobname--------\@nil%
}

\newcommand*{\getfivefromjobname}{%
  \expandafter\@getfivefromfilename\jobname--------\@nil%
}

\newcommand*{\getsixfromjobname}{%
  \expandafter\@getsixfromfilename\jobname--------\@nil%
}

\newcommand*{\getsevenfromjobname}{%
  \expandafter\@getsevenfromfilename\jobname--------\@nil%
}

\newcommand*{\geteightfromjobname}{%
  \expandafter\@geteightfromfilename\jobname--------\@nil%
}

\newcommand*{\getninefromjobname}{%
  \expandafter\@getninefromfilename\jobname\@nil%
}

\newcommand*\@getonefromfilename{}
\def\@getonefromfilename#1-#2-#3-#4-#5-#6-#7-#8-#9\@nil{%
#1%
}

\newcommand*\@gettwofromfilename{}
\def\@gettwofromfilename#1-#2-#3-#4-#5-#6-#7-#8-#9\@nil{%
#2%
}

\newcommand*\@getthreefromfilename{}
\def\@getthreefromfilename#1-#2-#3-#4-#5-#6-#7-#8-#9\@nil{%
#3%
}

\newcommand*\@getfourfromfilename{}
\def\@getfourfromfilename#1-#2-#3-#4-#5-#6-#7-#8-#9\@nil{%
#4%
}

\newcommand*\@getfivefromfilename{}
\def\@getfivefromfilename#1-#2-#3-#4-#5-#6-#7-#8-#9\@nil{%
#5%
}

\newcommand*\@getsixfromfilename{}
\def\@getsixfromfilename#1-#2-#3-#4-#5-#6-#7-#8-#9\@nil{%
#6%
}

\newcommand*\@getsevenfromfilename{}
\def\@getsevenfromfilename#1-#2-#3-#4-#5-#6-#7-#8-#9\@nil{%
#7%
}

\newcommand*\@geteightfromfilename{}
\def\@geteightfromfilename#1-#2-#3-#4-#5-#6-#7-#8-#9\@nil{%
#8%
}

\newcommand*\@getninefromfilename{}
\def\@getninefromfilename#1-#2-#3-#4-#5-#6-#7-#8-#9\@nil{%
#9%
}

% as proposed by egreg, 
% https://tex.stackexchange.com/questions/212169/qr-code-from-jobname
\newcommand{\getfromjobname}[1]{%
  \ifcase#1 \or%
    \getonefromjobname\or%
    \gettwofromjobname\or%
    \getthreefromjobname\or%
    \getfourfromjobname\or%
    \getfivefromjobname\or%
    \getsixfromjobname\or%
    \getsevenfromjobname\or%
    \geteightfromjobname\or%
    \getninefromjobname%
  \fi%
}

% for the currfilebase version

\newcommand*{\getonefromcurrfilename}{%
  \expandafter\@getonefromfilename\currfilebase--------\@nil%
}

\newcommand*{\gettwofromcurrfilename}{%
  \expandafter\@gettwofromfilename\currfilebase--------\@nil%
}

\newcommand*{\getthreefromcurrfilename}{%
  \expandafter\@getthreefromfilename\currfilebase--------\@nil%
}

\newcommand*{\getfourfromcurrfilename}{%
  \expandafter\@getfourfromfilename\currfilebase--------\@nil%
}

\newcommand*{\getfivefromcurrfilename}{%
  \expandafter\@getfivefromfilename\currfilebase--------\@nil%
}

\newcommand*{\getsixfromcurrfilename}{%
  \expandafter\@getsixfromfilename\currfilebase--------\@nil%
}

\newcommand*{\getsevenfromcurrfilename}{%
  \expandafter\@getsevenfromfilename\currfilebase--------\@nil%
}

\newcommand*{\geteightfromcurrfilename}{%
  \expandafter\@geteightfromfilename\currfilebase--------\@nil%
}

\newcommand*{\getninefromcurrfilename}{%
  \expandafter\@getninefromfilename\currfilebase\@nil%
}

\newcommand{\getfromcurrfilename}[1]{%
  \ifcase#1 \or%
    \getonefromcurrfilename\or%
    \gettwofromcurrfilename\or%
    \getthreefromcurrfilename\or%
    \getfourfromcurrfilename\or%
    \getfivefromcurrfilename\or%
    \getsixfromcurrfilename\or%
    \getsevenfromcurrfilename\or%
    \geteightfromcurrfilename\or%
    \getninefromcurrfilename%
  \fi%
}

\makeatother
% end of jobdate.sty