Skip to content

Commit

Permalink
workflow added
Browse files Browse the repository at this point in the history
  • Loading branch information
Jürgen Krauß committed Jul 11, 2024
1 parent c3dcb8e commit 1080a10
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 39 deletions.
28 changes: 28 additions & 0 deletions job-api/ftp_uploader.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
from ftplib import FTP_TLS
import os

class FTPUploader:
user:str = ""
password:str = ""
default_server_address:str = ""

def __init__(self, user = None, password = None, server = None) -> None:
self.user = user if user is not None else os.getenv("FTP_USER", "")
self.password = password if password is not None else os.getenv("FTP_PASSWORD", "")
self.server = server if server is None else os.getenv('FTP_SERVER', '')

def upload(self, file, target_filename = "jobs.csv", server = None)->bool:
if server is None:
server = self.default_server_address
target_filename = os.path.basename(file)
try:
session = FTP_TLS(server,self.user,self.password)
session.prot_p()
binary_file = open(file,'rb') # file to send
session.storbinary(f'STOR {target_filename}', binary_file) # send the file
binary_file.close() # close file and FTP
session.quit()
return True
except Exception as e:
print(e)
return False
68 changes: 34 additions & 34 deletions job-api/jobs.csv
Original file line number Diff line number Diff line change
@@ -1,4 +1,38 @@
jobDbId;externalPostingName;internalPostingName;applyOnlineLink;jobCategories;audiences;employmentTypes;workTimes;industries;workExperiences;geo_lat;geo_long;geo_name;geo_country;geo_state;geo_city;geo_zip;geo_street;jobAdText;internalJobAdText;jobStartDate;jobEndDate;postingLastUpdatedDate;job_owner_salutation;job_owner_title;job_owner_firstname;job_owner_lastname;job_owner_street;job_owner_city;job_owner_zip;job_owner_phone;job_owner_email;job_owner_avatarurl;job_owner_function;job_ad_url;company_name;company_id;project_number;internal_reference_id;locale;keywords;layoutId;layoutName;remote_status;Stellentyp;Arbeitszeit
14636793;Senior Scrum Master/Agile Coach (w/m/d);Agile Coach (w/m/d);https://jobdb.softgarden.de/jobdb/public/jobposting/applyonline/click?jp=14636793&ADP;['sam42_it'];['3a3b1f6e7f000002010ad492e7837dd6'];['6'];['87af1987840d4442b87f2e0ee3344a1f'];['22'];['1b4f51fe628c4119a2d7a581557d0944'];49.4771169;10.988667;Fürth, Deutschland;Deutschland;Bayern;Fürth;;;"<b>DAS IST DEINE ROLLE:</b>
<p>Den Job als Scrum Master/Agile Coach müssen wir dir nicht erklären, deine Rolle kennst du selbst am besten.</p>

<b>DAS IST DEIN UMFELD:</b>
<ul>
<li>Du begleitest genau ein Software-Entwicklungsteam auf seinem Weg, so dass du den Fokus auf das Team halten kannst und auch genug Zeit hast, innerhalb des Unternehmens Dein Umfeld mitzugestalten.</li>
<li>Gute Kommunikation mit dem Kunden&nbsp;ist einer unserer Schlüssel zum Erfolg, hier unterstützt du das Team und den Kunden gleichermaßen.</li>
<li>Sowohl bei uns als auch bei unseren Kunden sind agile Arbeitsweisen fest gesetzt und etabliert, Überzeugungsarbeit muss hier nicht geleistet werden.</li>
</ul>

<b>DAS SIND DEINE STÄRKEN:</b>
<ul>
<li>Als erfahrener Scrum Master&nbsp;hast du bereits mehrere Teams in unterschiedlichen Unternehmenskontexten durch Höhen und Tiefen zu ihrem Erfolg begleitet.</li>
<li>Du lebst die Scrum Werte, das agile Mindset ist tief in dir verwurzelt und du kannst andere dafür begeistern.</li>
<li>Du bist sicher in der Anwendung von agilen Werkzeugen und Methoden und setzt diese zielsicher, lösungs- und ergebnisorientiert ein.</li>
<li>Deine Art zu kommunizieren ist klar, offen und wertschätzend.</li>
<li>Du teilst und repräsentierst agiles Know-How innerhalb und außerhalb des Unternehmens.</li>
<li>Deine positive Art und Professionalität begeistern nicht nur dein Team, sondern auch Kunden und Stakeholder.</li>
<li>Du bringst eine Scrum Master-Zertifizierung (Scrum Alliance, Scrum.org o. ä.) mit. Ein i-Tüpfelchen wäre ein anerkannter Abschluss als Coach/Supervisor.</li>
</ul>

<b>DAS KANNST DU ERWARTEN:</b>
<ul>
<li>Mehr als du erwartest :-) !</li>
<li>Auf dich warten große Spielräume, um Deine tollen Ideen auch wirklich umzusetzen.</li>
<li>Klassische Machthierarchie? Nein danke!</li>
<li>Unkonventionelle Wege betrachten wir nicht als Problem, sondern als Bereicherung.</li>
<li>Du kannst dich auf die gegenseitige Unterstützung, Abstimmung und Weiterentwicklung in der Community der derzeit bereits 8 Team-Coaches freuen.</li>
<li>Wir verkörpern eine lebendige Lernkultur, in der wir Fehler als das betrachten, was sie sind: Schritte auf dem Weg zur Verbesserung!</li>
<li>Die verkehrsgünstige Lage direkt am Fürther Hauptbahnhof lässt Dir alle Optionen für den bequemen Weg zur Arbeit offen.</li>
<li>Deine rund 90 neuen Kolleginnen und Kollegen arbeiten nicht nur in unterschiedlichsten Disziplinen, sondern sind auch sonst ein ziemlich „bunter Haufen“.</li>
</ul>

";;1719224267656;0;1719224267656;;;Natalia;Streck;;;;;[email protected];https://app.softgarden.io/assets/public/media/get/05ed1f57-ba8a-452d-932e-2a0af8f7c327/1639486366579/1604964991702.jpg;People Enthusiast & Talent Ambassador;https://short.sg/j/14636793;BRANDAD Group AG;bf4c49f6-8454-48f8-8311-8f8bf9d01ecd;922284;/images/softgarden/Agil_Coach_1224_816px.jpg;de;Scrum, Agile Coaching, New Work, Agilität, Softwareunternehmen, Kommunikation, Beratung, Führung, Coach, BRANDAD Development;8971251ad5df45fa9be0ae113a9d532a;Job Ad Layout;REMOTE_FLEXIBLE;Festanstellung;Vollzeitstelle
45230017;Projektmanager im MarTech-Umfeld (w/m/d);Projektmanager im MarTech-Umfeld (w/m/d);https://jobdb.softgarden.de/jobdb/public/jobposting/applyonline/click?jp=45230017&ADP;['sam42_it'];['3a3b1f6e7f000002010ad492e7837dd6'];['6'];['137caf67764c4b63b0272895af1704b0'];['22'];['1b4f51fe628c4119a2d7a581557d0944'];49.4771169;10.988667;Fürth, Deutschland;Deutschland;Bayern;Fürth;;;"<div class=""OutlineElement Ltr SCXW170986661 BCX0"">
<p class=""Paragraph SCXW170986661 BCX0"">Mit unserer <strong>Marketing-Plattform Brand Base</strong> helfen wir <strong>großen Marken und ihren Partnern am Point of Sale (POS) dabei, erfolgreiches lokales Marketing </strong>zu machen – maximal effektiv, automatisiert und über alle Kanäle hinweg.&nbsp;<br><br>Viele großartige Menschen sind bereits an Bord der <strong>BRANDAD Solutions</strong>, um diese Mission gemeinsam zu bestreiten. Nun suchen wir weitere Unterstützung im Projektmanagement für unsere Plattform im MarTech- und KI-Umfeld.&nbsp;<span class=""LineBreakBlob BlobObject DragDrop SCXW170986661 BCX0""><br class=""SCXW170986661 BCX0""></span></p>
</div>
Expand Down Expand Up @@ -136,40 +170,6 @@ WIR SIND BRANDAD:
</div>

";;1712043455687;0;1712043455687;;;Natalia;Streck;;;;;[email protected];https://app.softgarden.io/assets/public/media/get/05ed1f57-ba8a-452d-932e-2a0af8f7c327/1639486366579/1604964991702.jpg;People Enthusiast & Talent Ambassador;https://short.sg/j/14637498;BRANDAD Group AG;bf4c49f6-8454-48f8-8311-8f8bf9d01ecd;922802;/images/softgarden/Patrick_Microservice.jpg;de;IT, Software, Softwareentwicklung, Entwicklung, Anwendungsentwicklung, Frontend, Web-Technologie, Angular, Typescript, Informatiker, Fachinformatiker, Programmieren, Programmierer, Coden, Backend, Clean Code, BRANDAD Development;8971251ad5df45fa9be0ae113a9d532a;Job Ad Layout;REMOTE_FLEXIBLE;Festanstellung;Vollzeitstelle
14636793;Senior Scrum Master/Agile Coach (w/m/d);Agile Coach (w/m/d);https://jobdb.softgarden.de/jobdb/public/jobposting/applyonline/click?jp=14636793&ADP;['sam42_it'];['3a3b1f6e7f000002010ad492e7837dd6'];['6'];['87af1987840d4442b87f2e0ee3344a1f'];['22'];['1b4f51fe628c4119a2d7a581557d0944'];49.4771169;10.988667;Fürth, Deutschland;Deutschland;Bayern;Fürth;;;"DAS IST DEINE ROLLE:
<p>Den Job als Scrum Master/Agile Coach müssen wir dir nicht erklären, deine Rolle kennst du selbst am besten.</p>

DAS IST DEIN UMFELD:
<ul>
<li>Du begleitest genau ein Software-Entwicklungsteam auf seinem Weg, so dass du den Fokus auf das Team halten kannst und auch genug Zeit hast, innerhalb des Unternehmens Dein Umfeld mitzugestalten.</li>
<li>Gute Kommunikation mit dem Kunden&nbsp;ist einer unserer Schlüssel zum Erfolg, hier unterstützt du das Team und den Kunden gleichermaßen.</li>
<li>Sowohl bei uns als auch bei unseren Kunden sind agile Arbeitsweisen fest gesetzt und etabliert, Überzeugungsarbeit muss hier nicht geleistet werden.</li>
</ul>

DAS SIND DEINE STÄRKEN:
<ul>
<li>Als erfahrener Scrum Master&nbsp;hast du bereits mehrere Teams in unterschiedlichen Unternehmenskontexten durch Höhen und Tiefen zu ihrem Erfolg begleitet.</li>
<li>Du lebst die Scrum Werte, das agile Mindset ist tief in dir verwurzelt und du kannst andere dafür begeistern.</li>
<li>Du bist sicher in der Anwendung von agilen Werkzeugen und Methoden und setzt diese zielsicher, lösungs- und ergebnisorientiert ein.</li>
<li>Deine Art zu kommunizieren ist klar, offen und wertschätzend.</li>
<li>Du teilst und repräsentierst agiles Know-How innerhalb und außerhalb des Unternehmens.</li>
<li>Deine positive Art und Professionalität begeistern nicht nur dein Team, sondern auch Kunden und Stakeholder.</li>
<li>Du bringst eine Scrum Master-Zertifizierung (Scrum Alliance, Scrum.org o. ä.) mit. Ein i-Tüpfelchen wäre ein anerkannter Abschluss als Coach/Supervisor.</li>
</ul>

DAS KANNST DU ERWARTEN:
<ul>
<li>Mehr als du erwartest :-) !</li>
<li>Auf dich warten große Spielräume, um Deine tollen Ideen auch wirklich umzusetzen.</li>
<li>Klassische Machthierarchie? Nein danke!</li>
<li>Unkonventionelle Wege betrachten wir nicht als Problem, sondern als Bereicherung.</li>
<li>Du kannst dich auf die gegenseitige Unterstützung, Abstimmung und Weiterentwicklung in der Community der derzeit bereits 8 Team-Coaches freuen.</li>
<li>Wir verkörpern eine lebendige Lernkultur, in der wir Fehler als das betrachten, was sie sind: Schritte auf dem Weg zur Verbesserung!</li>
<li>Die verkehrsgünstige Lage direkt am Fürther Hauptbahnhof lässt Dir alle Optionen für den bequemen Weg zur Arbeit offen.</li>
<li>Deine rund 90 neuen Kolleginnen und Kollegen arbeiten nicht nur in unterschiedlichsten Disziplinen, sondern sind auch sonst ein ziemlich „bunter Haufen“.</li>
</ul>

";;1709288515460;0;1709288515460;;;Natalia;Streck;;;;;[email protected];https://app.softgarden.io/assets/public/media/get/05ed1f57-ba8a-452d-932e-2a0af8f7c327/1639486366579/1604964991702.jpg;People Enthusiast & Talent Ambassador;https://short.sg/j/14636793;BRANDAD Group AG;bf4c49f6-8454-48f8-8311-8f8bf9d01ecd;922284;/images/softgarden/Agil_Coach_1224_816px.jpg;de;Scrum, Agile Coaching, New Work, Agilität, Softwareunternehmen, Kommunikation, Beratung, Führung, Coach, BRANDAD Development;8971251ad5df45fa9be0ae113a9d532a;Job Ad Layout;REMOTE_FLEXIBLE;Festanstellung;Vollzeitstelle
14637288;UX/UI Designer (w/m/d);User Experience Engineer (w/m/d);https://jobdb.softgarden.de/jobdb/public/jobposting/applyonline/click?jp=14637288&ADP;['sam42_it'];['3a3b1f6e7f000002010ad492e7837dd6'];['6'];['137caf67764c4b63b0272895af1704b0'];['22'];['1b4f51fe628c4119a2d7a581557d0944'];49.4771169;10.988667;Fürth, Deutschland;Deutschland;Bayern;Fürth;;;"AUF DIESE AUFGABENFELDER KANNST DU DICH FREUEN:
<ul>
<li>In einem crossfunktionalen Entwicklerteam verantwortest du alle Facetten der User Experience.<br><br></li>
Expand Down
14 changes: 9 additions & 5 deletions job-api/main.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
import job_fetcher
import markdown_converter
import ftp_uploader
from pathlib import Path

# Example usage:
# converter = JobMarkdownConverter('path_to_job_listings.csv')
# converter.process_jobs()

p = Path(__file__).parent.resolve()
jf = job_fetcher.JobFetcher(p / "jobs.csv")
converter = markdown_converter.JobMarkdownConverter(p / "jobs.csv")
ftp = ftp_uploader.FTPUploader()

jf.fetch_jobs()
jobs = converter.read_csv()
converter.save_to_markdown_file(converter.convert_to_markdown(jobs), p / ".." / "jobs" / "jobs.md")
converter.merge_markdown_files(p / ".." / "jobs" / "jobs.md", p / ".." / "profile" / "README.md")
converter.merge_markdown_files(p / ".." / "jobs" / "jobs.md", p / ".." / "profile" / "README.md")

if ftp.upload(p / "jobs.csv"):
print("Upload successful")
else:
print("Upload failed")

0 comments on commit 1080a10

Please sign in to comment.