self.data["email"] = email
self.data["maritalstatus"] = maritalstatus
+ # set the profile highlights
+ def set_profile (self, listofprofilehighlights):
+ self.data["profile"] = listofprofilehighlights
+
# set the educational qualifications
def set_educational_qualifications (self, listofqualifications):
self.data["educationalqualifications"] = listofqualifications
# fill education data template bit
str_education = self._get_education ()
+ # fill the profile highlight template bit
+ str_profile = self._get_profile ()
+
# fill the professional history template bit
str_profession = self._get_profession ()
# fill the main template
str_main = self._get_main (
+ str_profile,
str_education,
str_profession,
str_shorttermobjectives,
codecs.open (self.file_output, "w", "utf-8").write (str_main)
# fill up the main template
- def _get_main (self, education, profession, shortterm, longterm, skills, languages):
+ def _get_main (self, profile, education, profession, shortterm, longterm, skills, languages):
# main template
tpl_main = string.Template (codecs.open (self.fil_main, "r", "utf-8").read ())
lastname = self.data["lastname"],
dateofbirth = self.data["dateofbirth"],
maritalstatus = str_marital,
+ profile = profile,
shortterm = shortterm,
longterm = longterm,
skills = skills,
return str_main
+ # get the profile highlights list
+ def _get_profile (self):
+ tpl_profile = string.Template (codecs.open (self.fil_profile, "r", "utf-8").read ())
+
+ lst_profile = []
+ # loop through each item
+ for item in self.data["profile"]:
+ str_profile = tpl_profile.safe_substitute (
+ profile_item = item
+ )
+ lst_profile.append (str_profile)
+
+ return u'\n'.join (lst_profile)
+
# get the language list
def _get_languages (self):
tpl_language = string.Template (codecs.open (self.fil_language, "r", "utf-8").read ())
)
lst_languages.append (str_lang)
- return "\n".join (lst_languages)
+ return u'\n'.join (lst_languages)
# get the skills
def _get_skills (self):
)
lst_skills.append (str_skill)
- return "\n".join (lst_skills)
+ return u'\n'.join (lst_skills)
# get short term career objectives
def _get_career (self):
)
lst_longtermgoals.append (str_career)
- return "\n".join (lst_shorttermcareer), "\n".join (lst_longtermgoals)
+ return u'\n'.join (lst_shorttermcareer), u'\n'.join (lst_longtermgoals)
# fill the professional history template
def _get_profession (self):
)
lst_profession.append (str_profession)
- return "\n".join (lst_profession)
+ return u'\n'.join (lst_profession)
# fill the education template
def _get_education (self):
)
lst_education.append (str_education)
- return "\n".join (lst_education)
+ return u'\n'.join (lst_education)
# set the template directory and the files within
def set_template_directory (self, templatedir):
self.fil_skills = os.path.join (templatedir, "skill_bit.tpl")
# languages learned bit
self.fil_language = os.path.join (templatedir, "language_bit.tpl")
+ # profile bit
+ self.fil_profile = os.path.join (templatedir, "profile_bit.tpl")
# load language strings
lang_str = codecs.open (os.path.join (templatedir, "misc_strings.txt"), "r", "utf-8").read ()
# set the personal information fields from document data
self.set_personal_info (docdata)
+ # set the profile highlights
+ self.set_profile_highlights (docdata)
+
# set the educational qualifications
self.set_educational_qualifications (docdata)
unicode (self.email.text ().toUtf8 (), "utf-8"),
maritalstatus
)
+
+ # set the profile highlights
+ profile_highlights = unicode (self.profile.toPlainText ().toUtf8 ()).splitlines ()
+ docdata.set_profile (profile_highlights)
+
# get the list of educational qualifications from the treewidget
education = []
i = 0
self.email.setText ("")
self.areacode.setText ("")
self.unspecified.setChecked (True)
+ self.country.setText ("")
+
+ # function to set the profile highlights in the GUI from document data
+ def set_profile_highlights (self, docdata):
+ self.profile.setPlainText (u'\n'.join (docdata.data["profile"]))
+
+ # function to reset profile highlights data in GUI
+ def reset_profile_highlights (self):
+ self.profile.setPlainText ("")
# function to set personal information data in the GUI from document data
def set_personal_info (self, docdata):
self.title.setText ("")
self.reset_personal_info ()
+ self.reset_profile_highlights ()
self.reset_professional_history ()
self.reset_educational_qualifications ()
self.reset_career_objectives ()
</item>
</layout>
</widget>
+ <widget class="QWidget" name="tab_7">
+ <attribute name="title">
+ <string>Profile</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_9">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_38">
+ <property name="text">
+ <string>Profile main highlights (one per line)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QPlainTextEdit" name="profile">
+ <property name="verticalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOn</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Educational Qualifications</string>
</hint>
</hints>
</connection>
+ <connection>
+ <sender>profile</sender>
+ <signal>textChanged()</signal>
+ <receiver>biacv_mainwindow</receiver>
+ <slot>on_document_modified()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>287</x>
+ <y>242</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>461</x>
+ <y>-11</y>
+ </hint>
+ </hints>
+ </connection>
</connections>
<slots>
<slot>on_add_education()</slot>
# Form implementation generated from reading ui file 'biacv_mainwindow.ui'
#
-# Created: Wed Dec 7 16:47:43 2011
+# Created: Thu Dec 8 12:53:37 2011
# by: PyQt4 UI code generator 4.8.6
#
# WARNING! All changes made in this file will be lost!
self.unspecified.setObjectName(_fromUtf8("unspecified"))
self.gridLayout.addWidget(self.unspecified, 8, 5, 1, 1)
self.pages.addTab(self.tab, _fromUtf8(""))
+ self.tab_7 = QtGui.QWidget()
+ self.tab_7.setObjectName(_fromUtf8("tab_7"))
+ self.gridLayout_9 = QtGui.QGridLayout(self.tab_7)
+ self.gridLayout_9.setObjectName(_fromUtf8("gridLayout_9"))
+ self.label_38 = QtGui.QLabel(self.tab_7)
+ self.label_38.setText(QtGui.QApplication.translate("biacv_mainwindow", "Profile main highlights (one per line)", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_38.setObjectName(_fromUtf8("label_38"))
+ self.gridLayout_9.addWidget(self.label_38, 0, 0, 1, 1)
+ self.profile = QtGui.QPlainTextEdit(self.tab_7)
+ self.profile.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
+ self.profile.setObjectName(_fromUtf8("profile"))
+ self.gridLayout_9.addWidget(self.profile, 1, 0, 1, 1)
+ self.pages.addTab(self.tab_7, _fromUtf8(""))
self.tab_2 = QtGui.QWidget()
self.tab_2.setObjectName(_fromUtf8("tab_2"))
self.gridLayout_3 = QtGui.QGridLayout(self.tab_2)
QtCore.QObject.connect(self.action_About, QtCore.SIGNAL(_fromUtf8("triggered()")), biacv_mainwindow.on_help_about)
QtCore.QObject.connect(self.action_Export, QtCore.SIGNAL(_fromUtf8("triggered()")), biacv_mainwindow.on_file_export)
QtCore.QObject.connect(self.country, QtCore.SIGNAL(_fromUtf8("textChanged(QString)")), biacv_mainwindow.on_document_modified)
+ QtCore.QObject.connect(self.profile, QtCore.SIGNAL(_fromUtf8("textChanged()")), biacv_mainwindow.on_document_modified)
QtCore.QMetaObject.connectSlotsByName(biacv_mainwindow)
def retranslateUi(self, biacv_mainwindow):
self.pages.setTabText(self.pages.indexOf(self.tab), QtGui.QApplication.translate("biacv_mainwindow", "Personal information", None, QtGui.QApplication.UnicodeUTF8))
+ self.pages.setTabText(self.pages.indexOf(self.tab_7), QtGui.QApplication.translate("biacv_mainwindow", "Profile", None, QtGui.QApplication.UnicodeUTF8))
self.pages.setTabText(self.pages.indexOf(self.tab_2), QtGui.QApplication.translate("biacv_mainwindow", "Educational Qualifications", None, QtGui.QApplication.UnicodeUTF8))
self.pages.setTabText(self.pages.indexOf(self.tab_3), QtGui.QApplication.translate("biacv_mainwindow", "Professional History", None, QtGui.QApplication.UnicodeUTF8))
self.pages.setTabText(self.pages.indexOf(self.tab_6), QtGui.QApplication.translate("biacv_mainwindow", "Career objectives", None, QtGui.QApplication.UnicodeUTF8))
<text:list-item>
- <text:p text:style-name="P4"><text:span text:style-name="T1">${language}</text:span> - ${canspeak}; ${canreadwrite}; ${proficient};</text:p>
+ <text:p text:style-name="P4"><text:span text:style-name="T1">${language}</text:span> - ${canspeak} ${canreadwrite} ${proficient};</text:p>
</text:list-item>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.text">
- <office:meta><meta:creation-date>2011-12-07T21:58:35</meta:creation-date><dc:date>2011-12-08T10:03:59</dc:date><meta:editing-duration>PT57M26S</meta:editing-duration><meta:editing-cycles>35</meta:editing-cycles><meta:generator>LibreOffice/3.4$Unix LibreOffice_project/340m1$Build-402</meta:generator><meta:document-statistic meta:table-count="3" meta:image-count="0" meta:object-count="0" meta:page-count="2" meta:paragraph-count="46" meta:word-count="94" meta:character-count="829" meta:non-whitespace-character-count="784"/></office:meta>
- <office:settings>
- <config:config-item-set config:name="ooo:view-settings">
- <config:config-item config:name="ViewAreaTop" config:type="long">13640</config:config-item>
- <config:config-item config:name="ViewAreaLeft" config:type="long">0</config:config-item>
- <config:config-item config:name="ViewAreaWidth" config:type="long">26100</config:config-item>
- <config:config-item config:name="ViewAreaHeight" config:type="long">11474</config:config-item>
- <config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item>
- <config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item>
- <config:config-item-map-indexed config:name="Views">
- <config:config-item-map-entry>
- <config:config-item config:name="ViewId" config:type="string">view2</config:config-item>
- <config:config-item config:name="ViewLeft" config:type="long">21429</config:config-item>
- <config:config-item config:name="ViewTop" config:type="long">19743</config:config-item>
- <config:config-item config:name="VisibleLeft" config:type="long">0</config:config-item>
- <config:config-item config:name="VisibleTop" config:type="long">13640</config:config-item>
- <config:config-item config:name="VisibleRight" config:type="long">26099</config:config-item>
- <config:config-item config:name="VisibleBottom" config:type="long">25112</config:config-item>
- <config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
- <config:config-item config:name="ViewLayoutColumns" config:type="short">1</config:config-item>
- <config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item>
- <config:config-item config:name="ZoomFactor" config:type="short">125</config:config-item>
- <config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item>
- </config:config-item-map-entry>
- </config:config-item-map-indexed>
- </config:config-item-set>
- <config:config-item-set config:name="ooo:configuration-settings">
- <config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item>
- <config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item>
- <config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item>
- <config:config-item config:name="IsLabelDocument" config:type="boolean">false</config:config-item>
- <config:config-item config:name="MathBaselineAlignment" config:type="boolean">true</config:config-item>
- <config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item>
- <config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item>
- <config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item>
- <config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">false</config:config-item>
- <config:config-item config:name="PrintTextPlaceholder" config:type="boolean">false</config:config-item>
- <config:config-item config:name="UseOldNumbering" config:type="boolean">false</config:config-item>
- <config:config-item config:name="PrintProspectRTL" config:type="boolean">false</config:config-item>
- <config:config-item config:name="ProtectForm" config:type="boolean">false</config:config-item>
- <config:config-item config:name="CurrentDatabaseCommand" config:type="string"/>
- <config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item>
- <config:config-item config:name="SmallCapsPercentage66" config:type="boolean">false</config:config-item>
- <config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item>
- <config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item>
- <config:config-item config:name="PrintHiddenText" config:type="boolean">false</config:config-item>
- <config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item>
- <config:config-item config:name="UseFormerTextWrapping" config:type="boolean">false</config:config-item>
- <config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item>
- <config:config-item config:name="PrintEmptyPages" config:type="boolean">true</config:config-item>
- <config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">false</config:config-item>
- <config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item>
- <config:config-item config:name="TabsRelativeToIndent" config:type="boolean">true</config:config-item>
- <config:config-item config:name="TableRowKeep" config:type="boolean">false</config:config-item>
- <config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item>
- <config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item>
- <config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item>
- <config:config-item config:name="AddFrameOffsets" config:type="boolean">false</config:config-item>
- <config:config-item config:name="UpdateFromTemplate" config:type="boolean">true</config:config-item>
- <config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">true</config:config-item>
- <config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item>
- <config:config-item config:name="AddExternalLeading" config:type="boolean">true</config:config-item>
- <config:config-item config:name="PrinterIndependentLayout" config:type="string">high-resolution</config:config-item>
- <config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item>
- <config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item>
- <config:config-item config:name="UseOldPrinterMetrics" config:type="boolean">false</config:config-item>
- <config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/>
- <config:config-item config:name="PrinterName" config:type="string"/>
- <config:config-item config:name="CollapseEmptyCellPara" config:type="boolean">true</config:config-item>
- <config:config-item config:name="PrinterSetup" config:type="base64Binary"/>
- <config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item>
- <config:config-item config:name="InvertBorderSpacing" config:type="boolean">false</config:config-item>
- <config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item>
- <config:config-item config:name="DoNotCaptureDrawObjsOnPage" config:type="boolean">false</config:config-item>
- <config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item>
- <config:config-item config:name="TabAtLeftIndentForParagraphsInList" config:type="boolean">false</config:config-item>
- <config:config-item config:name="UnxForceZeroExtLeading" config:type="boolean">false</config:config-item>
- <config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item>
- <config:config-item config:name="PrintFaxName" config:type="string"/>
- <config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item>
- <config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item>
- <config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item>
- <config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item>
- <config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item>
- <config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item>
- <config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item>
- <config:config-item config:name="CurrentDatabaseDataSource" config:type="string"/>
- <config:config-item config:name="UseFormerLineSpacing" config:type="boolean">false</config:config-item>
- <config:config-item config:name="IgnoreTabsAndBlanksForLineCalculation" config:type="boolean">false</config:config-item>
- <config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item>
- <config:config-item config:name="DoNotResetParaAttrsForNumFont" config:type="boolean">false</config:config-item>
- <config:config-item config:name="ClipAsCharacterAnchoredWriterFlyFrames" config:type="boolean">false</config:config-item>
- </config:config-item-set>
- </office:settings>
- <office:scripts>
- <office:script script:language="ooo:Basic">
- <ooo:libraries xmlns:ooo="http://openoffice.org/2004/office" xmlns:xlink="http://www.w3.org/1999/xlink"/>
- </office:script>
- </office:scripts>
- <office:font-face-decls>
- <style:font-face style:name="Lohit Tamil1" svg:font-family="'Lohit Tamil'"/>
- <style:font-face style:name="OpenSymbol" svg:font-family="OpenSymbol"/>
- <style:font-face style:name="Liberation Serif" svg:font-family="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable"/>
- <style:font-face style:name="Thorndale" svg:font-family="Thorndale" style:font-family-generic="roman" style:font-pitch="variable"/>
- <style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/>
- <style:font-face style:name="Liberation Sans1" svg:font-family="'Liberation Sans'" style:font-adornments="Bold" style:font-family-generic="swiss" style:font-pitch="variable"/>
- <style:font-face style:name="Liberation Sans2" svg:font-family="'Liberation Sans'" style:font-adornments="Regular" style:font-family-generic="swiss" style:font-pitch="variable"/>
- <style:font-face style:name="DejaVu Sans" svg:font-family="'DejaVu Sans'" style:font-family-generic="system" style:font-pitch="variable"/>
- <style:font-face style:name="Lohit Tamil" svg:font-family="'Lohit Tamil'" style:font-family-generic="system" style:font-pitch="variable"/>
- </office:font-face-decls>
+
<office:styles>
<style:default-style style:family="graphic">
<style:graphic-properties fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/>
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
</text:sequence-decls>
<text:p text:style-name="Title">${title}</text:p>
+ <text:h text:style-name="Heading_20_1" text:outline-level="1">Profile Highlights</text:h>
+ <text:list text:style-name="L1">
+ ${profile}
+ </text:list>
<text:h text:style-name="Heading_20_1" text:outline-level="1">Career Objectives</text:h>
<text:h text:style-name="Heading_20_2" text:outline-level="2">Short Term Objectives</text:h>
- <text:list xml:id="list1741008602" text:style-name="L1">
+ <text:list text:style-name="L1">
${shortterm}
</text:list>
<text:h text:style-name="Heading_20_2" text:outline-level="2">Long Term Goals</text:h>
- <text:list xml:id="list888899615" text:style-name="L3">
+ <text:list text:style-name="L3">
${longterm}
</text:list>
<text:h text:style-name="Heading_20_1" text:outline-level="1">Skill Sets</text:h>
${education}
</table:table>
<text:h text:style-name="Heading_20_1" text:outline-level="1">Languages Known</text:h>
- <text:list xml:id="list1929983078" text:style-name="L6">
+ <text:list text:style-name="L6">
${languages}
</text:list>
<text:h text:style-name="Heading_20_1" text:outline-level="1">Personal Information</text:h>
--- /dev/null
+ <text:list-item>
+ <text:p text:style-name="P3">${profile_item}</text:p>
+ </text:list-item>
\ No newline at end of file
</tr>
</table>
+ <!-- Profile highlights -->
+ <h2>Profile highlights</h2>
+ <ul>
+ ${profile}
+ </ul>
+
<!-- Career objectives -->
<h2>Career Objectives</h2>
<h3>Short Term Objectives</h3>
--- /dev/null
+<li>${profile_item}</li>
\ No newline at end of file