-
Notifications
You must be signed in to change notification settings - Fork 1
/
mainWithFile.py
executable file
·105 lines (92 loc) · 3.5 KB
/
mainWithFile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/usr/bin/python3
# -*- coding: utf-8 -*- default is unicode in python3 ?
__author__ = "Gabriel Chandesris"
__copyright__ = "CC Gabriel Chandesris (2020)"
__credits__ = ""
__licence__ = "GNU GENERAL PUBLIC LICENSE v3"
__version__ = "0.1.0"
__maintainer__ = "Gabriel Chandesris"
__email__ = "gabywald[at]laposte.net"
__contact__ = "gabywald[at]laposte.net"
__status__ = "Development"
## ## ## ## ## Main script to generate several Curriculum according to file passed in parameter
import sys
import curriculumData
from Person import Person
def is_integer( n ):
try:
res = int( n )
print( res )
return True
except ValueError:
print ("not str: " + n )
return False
print('(debugging purposes) Number of arguments:', len(sys.argv), 'arguments.' )
print('(debugging purposes) Argument List:', str(sys.argv) )
if (len(sys.argv) < 2):
print("Please gives one argument: path to the file !")
exit(1)
path2file = sys.argv[1]
fileContent = curriculumData.readFileToList( path2file );
## print( fileContent )
for line in fileContent :
if ( not line.startswith( "#" ) ) :
lineSplitter = line.split( "\t" )
cvStyle = lineSplitter[ 0 ]
cvColor = lineSplitter[ 1 ]
## skills = lineSplitter[10],
## jobs = lineSplitter[11],
## trainings = lineSplitter[12]
nbskills = 0
nbjobs = 0
nbtrainings = 0
lstskills = []
lstjobs = []
lsttrainings = []
if (is_integer( lineSplitter[10] ) ) :
nbskills = int( lineSplitter[10] )
else :
lstskills = lineSplitter[10].split( ";" )
print( lstskills )
if (is_integer( lineSplitter[11] ) ) :
nbjobs = int( lineSplitter[11] )
else :
lstjobs = lineSplitter[11].split( ";" )
print( lstjobs )
if (is_integer( lineSplitter[12] ) ) :
nbtrainings = int( lineSplitter[12] )
else :
lsttrainings = lineSplitter[12].split( ";" )
print( lsttrainings )
personnae = Person(
firstname = lineSplitter[2],
lastname = lineSplitter[3],
extrainfo = lineSplitter[4],
address = lineSplitter[5],
pseudo = lineSplitter[6],
webpage = lineSplitter[7],
email = lineSplitter[8],
quote = lineSplitter[9],
jobeltsnb = nbjobs,
trainingeltsnb = nbtrainings,
skilleltnb = nbskills,
skills = lstskills,
jobs = lstjobs,
trainings = lsttrainings )
print( personnae )
cmd = "./mainScript "
cmd += "--style %s --color %s " %(cvStyle, cvColor)
cmd += "-fn %s -ln %s " %(personnae.firstname, personnae.lastname)
cmd += "--email %s --pseudo %s " %(personnae.email, personnae.pseudo)
cmd += "--webpage %s --address %s " %(personnae.webpage, personnae.address)
cmd += "--quote %s --extrainfo %s " %(personnae.quote, personnae.extrainfo)
if ( (personnae.jobeltsnb != 0)
and (personnae.trainingeltsnb != 0)
and (personnae.skilleltnb != 0) ) :
cmd += "-se %d -je %d -te %d " %(personnae.jobeltsnb, personnae.trainingeltsnb, personnae.skilleltnb)
cmd += "--allyes "
else:
cmd += ""
## TODO arguments accepting list of {jobs;trainings;skills}
print ( cmd + "\n" )
## retcode = subprocess.call( cmd, shell=True )