Skip to content

Commit

Permalink
Some changes and add in Python code ! (and some note / doc)
Browse files Browse the repository at this point in the history
  • Loading branch information
gabywald committed Oct 25, 2020
1 parent 51e2dbb commit c412a4b
Show file tree
Hide file tree
Showing 8 changed files with 92 additions and 115 deletions.
39 changes: 14 additions & 25 deletions Python/BiographicTable.py
Original file line number Diff line number Diff line change
@@ -1,27 +1,18 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-

__author__ = "Gabriel Chandesris (2020)"
__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"

import curriculumData
from curriculumData import CVData
import re
import random

class BiographicTable( object ) :
def __init__(self, name = None, comments = None ):
self.name = name
self.comments = comments
self.contents = []
self.linksTo = []
self.addins = []
self.name = name
self.comments = comments
self.contents = []
self.linksTo = []
self.addins = []

def _get_kwargs(self):
names = [
Expand Down Expand Up @@ -57,7 +48,6 @@ def loadTables() :
tablesAsTXT = curriculumDataObj.BiographicTables
nextTable = None
for line in tablesAsTXT:
## print( line )
resultTableHead = re.match( "^Table (.*?)(\t(.*?))?$", line)
resultTableContent = re.match( "^\t(Table )?(.*?)(\t\[(.*?)\])?(\t\{(.*?)\})?$", line )
if (resultTableHead != None) :
Expand All @@ -67,10 +57,15 @@ def loadTables() :
## print( resultTableHead.groups()[0] )
nextTable = BiographicTable( resultTableHead.groups()[0], resultTableHead.groups()[1] )
elif (resultTableContent != None) :
## print( resultTableContent.groups() )
nextTable.contents.append( resultTableContent.groups()[1] )
nextTable.linksTo.append( resultTableContent.groups()[3] ) if ( resultTableContent.groups()[3] != None ) else nextTable.linksTo.append( "" )
nextTable.linksTo.append( resultTableContent.groups()[5] ) if ( resultTableContent.groups()[5] != None ) else nextTable.linksTo.append( "" )
if ( resultTableContent.groups()[3] != None ) :
nextTable.linksTo.append( resultTableContent.groups()[3] )
else :
nextTable.linksTo.append( "" )
if ( resultTableContent.groups()[5] != None ) :
nextTable.linksTo.append( resultTableContent.groups()[5] )
else:
nextTable.linksTo.append( "" )
# Last Table insertion
if (nextTable != None) :
biographictablesDict[ nextTable.name ] = nextTable
Expand All @@ -79,13 +74,10 @@ def loadTables() :
for key in biographictablesDict :
print ( "\t % s" % key )

import random

def selectRandomBiographic() :
baseTable = biographictablesDict.get("CurriculumGenerator")
selected = random.choice( baseTable.contents )
choice = biographictablesDict.get( selected )
print ( selected + " => ... " )
moreselect = random.choice( choice.contents )
domain = random.choice( biographictablesDict.get("Domaine").contents )
print( selected + "::" + moreselect + " // " + domain)
Expand All @@ -94,9 +86,6 @@ def selectRandomBiographic() :
def selectRandomTraining() :
baseTable = biographictablesDict.get("Formation")
selected = random.choice( baseTable.contents )
print ( selected + " => ... " )
domain = random.choice( biographictablesDict.get("Domaine").contents )
print( selected + "// " + domain)
return [selected, domain]


29 changes: 11 additions & 18 deletions Python/Person.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,13 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-

__author__ = "Gabriel Chandesris (2020)"
__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"

class Person( object ) :
def __init__(self,
firstname = None, lastname = None, age = None,
generaltitle = None, title = None, speciality = None,
cellphone = None, address = None, email = None,
webpage = None, quote = None, pseudo = None,
elements = None, trainings = None):
firstname = None, lastname = None, age = None,
generaltitle = None, title = None, speciality = None,
cellphone = None, address = None, email = None,
webpage = None, quote = None, pseudo = None,
jobeltsnb = None, trainingeltsnb = None, trainings = None):
self.firstname = firstname
self.lastname = lastname
self.age = age
Expand All @@ -30,7 +20,8 @@ def __init__(self,
self.webpage = webpage
self.quote = quote
self.pseudo = pseudo
self.elements = pseudo
self.jobeltsnb = jobeltsnb
self.trainingeltsnb = trainingeltsnb
self.hardSkills = []
self.softSkills = []
self.jobs = []
Expand All @@ -51,7 +42,8 @@ def _get_kwargs(self):
'webpage',
'quote',
'pseudo',
'elements',
'jobeltsnb',
'trainingeltsnb',
'hardSkills',
'softSkills',
'jobs',
Expand All @@ -78,6 +70,7 @@ def __str__(self) :
str += "\t WebPage: %s \n" % (self.webpage)
str += "\t Quote: %s \n" % (self.quote)
str += "\t Pseudo: %s \n" % (self.pseudo)
str += "\t Elements: %s \n" % (self.elements)
str += "\t jobeltsnb: %s \n" % (self.jobeltsnb)
str += "\t trainingeltsnb: %s \n" % (self.trainingeltsnb)
return str

20 changes: 12 additions & 8 deletions Python/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
# CurriculumGenerator/Python

*Travaux en cours*

__Si d'autres développeurs veulent participer au projet, n'hésitez pas à vous signaler !__

## Outils, technologies et autres éléments utilisés

* Python 3
* Eclipse
* PyCharm
* Python 3.8.5
* script principal : 'mainScript.py'
* Eclipse / PyCharm
* Shell Bash
* UTF-8
* pdflatex ("texlive-*") ; package "texlive-fonts-extra" in Ubuntu (for 'fontawesome' / "fonts-font-awesome" needed in case of 'casual' résumé style, https://www.ctan.org/pkg/fontawesome "Web-Related Icons")

Testé sous Linux Ubuntu 20.04 !
Testé sous Linux Ubuntu 20.04

## Idées

Expand All @@ -33,7 +37,6 @@ L'objectif premier étant (de mon côté, initiateur du projet) de réviser le P
* utilisation de listes
* utilisation de dictionnaire
* utiliser la génération aléatoire (random)
* faire de l'appel système
* Programmation Orientée Objet
* ...

Expand All @@ -44,9 +47,9 @@ La première partie étant faite (révisions Python 3, donc) ; ce qui reste à f

__Si d'autres développeurs veulent participer au projet, n'hésitez pas à vous signaler !__


## Tutoriels et formations Python :
* https://docs.python.org/fr/3.5/tutorial/
* https://docs.python.org/fr/3.8/tutorial/
* https://docs.python.org/fr/3.8/howto/regex.html
* https://fr.wikibooks.org/wiki/Programmation_Python/Exemples_de_scripts
* https://python.doctor/page-apprendre-programmation-orientee-objet-poo-classes-python-cours-debutants
* https://www.tutorialspoint.com/python/python_command_line_arguments.htm
Expand All @@ -55,6 +58,7 @@ __Si d'autres développeurs veulent participer au projet, n'hésitez pas à vous
* https://www.w3schools.com/python/python_dictionaries.asp
* https://www.geeksforgeeks.org/python-dictionary/
* https://www.w3schools.com/python/python_regex.asp
* https://docs.python.org/fr/2.7/howto/regex.html

NOTE : voir utilisation Python Linter (vérifier la validité du code)

NOTE : utiliser str.format() instead of print with '%' ! https://www.w3schools.com/python/ref_string_format.asp
32 changes: 13 additions & 19 deletions Python/curriculumData.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-

__author__ = "Gabriel Chandesris (2020)"
__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"

import configparser

import argparse
Expand Down Expand Up @@ -105,7 +95,6 @@ def loadConfig( self ) :
BiographicTables = readFileToList( parser[ "paths" ].get( "BiographicTablesTXT" ) )
BiographicJobs = readFileToList( parser[ "paths" ].get( "BiographicJobsTXT" ) )
## some other sources
print( corporationNames )
# uplinkCompanyPartOne = readFileToList( parser[ "paths" ].get( "uplinkCompanyPartOne" ) )
# uplinkCompanyPartTwo = readFileToList( parser[ "paths" ].get( "uplinkCompanyPartTwo" ) )
# uplinkFornames = readFileToList( parser[ "paths" ].get( "uplinkFornames" ) )
Expand All @@ -115,7 +104,7 @@ def loadConfig( self ) :
firstNameList, lastNameList, contractTypesList, corporationNames,
BiographicTables, BiographicJobs,
uplinkCompanyPartOne, uplinkCompanyPartTwo, uplinkFornames, uplinkSurnames )
print( self._instance.corporationNames )
## print( self._instance.corporationNames )
return self._instance

parser = argparse.ArgumentParser(
Expand Down Expand Up @@ -171,12 +160,20 @@ def loadConfig( self ) :
help = "Quote / Citation",
type=str )

parser.add_argument("-elt", "--elements",
help = "Number of Biographic Elements",
parser.add_argument("-je", "--jobelements",
help = "Number of JOBS Elements",
type=int )

parser.add_argument("-te", "--trainingelements",
help = "Number of TRAINING Elements",
type=int )

parser.add_argument("-relt", "--randomelements",
help = "Random<number of elements",
parser.add_argument("-rje", "--randomjobelements",
help = "Random number of JOB elements",
action = "store_true" )

parser.add_argument("-rte", "--randomtrainingelements",
help = "Random number of TRAINING elements",
action = "store_true" )

parser.add_argument("-nq", "--noquote",
Expand All @@ -191,6 +188,3 @@ def parsingArgs() :
args = parser.parse_args()
print( args )
return args

## TODO random generation according to arguments !!

10 changes: 0 additions & 10 deletions Python/curriculumGeneration.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-

__author__ = "Gabriel Chandesris (2020)"
__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"

def getMakefileContent( texfilename ) :
str = "## naming WITHOUT the extensions [.tex] or [.bib]\n"
str += "LATEXFILE=" + texfilename + "\n\n"
Expand Down
10 changes: 0 additions & 10 deletions Python/curriculumMainFunctions.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-

__author__ = "Gabriel Chandesris (2020)"
__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"

import sys, getopt, os, subprocess

def launcheMakePDFfromLaTeX( directory ) :
Expand Down
Loading

0 comments on commit c412a4b

Please sign in to comment.