Skip to content

Instantly share code, notes, and snippets.

View jacoor's full-sized avatar
💭
Building Community: https://pymasters.pl

Jacek Ostański jacoor

💭
Building Community: https://pymasters.pl
View GitHub Profile
class Pojazd:
def __init__(self, predkosc: int, kolor: str) -> None:
self.predkosc: int = predkosc
self.kolor: str = kolor
def jedz(self) -> None:
print("Pojazd jedzie.")
def zatrzymaj(self) -> None:
print("Pojazd zatrzymuje się.")
@jacoor
jacoor / test_example.py
Created July 4, 2023 14:49
model form test
def test_model_form_contact_fields():
form = ModelContactForm()
assert len(form.fields) == 4
assert "email" in form.fields
assert "first_name" in form.fields
assert "last_name" in form.fields
assert "message" in form.fields
@jacoor
jacoor / header.py
Created September 17, 2018 16:20
skipping header in AWS glue
# use filter, Luke
# the idea is to use a filter function that will return True for the records to keep.
# Usage: just use before the last function at end of your ETL job script. Update frame and update next function frame with "filtered".
def filter_function(dynamicRecord):
if dynamicRecord.merchant_id == "merchant_id" and dynamicRecord.merchant_ref_number == "merchant_ref_number":
return False
else:
return True
filtered = Filter.apply(frame = dropnullfields3, f = filter_function, transformation_ctx = "filtered")
def compare(a, b):
if a == b:
return True
else:
return False
@jacoor
jacoor / generate_zone_records_from_json.py
Created August 19, 2021 07:48
Generate zone records file (terraform) from AWS Route53 zone dump.
"""
Generate zone records file (terraform) from zone dump.
To get zone dump:
aws route53 list-resource-record-sets --hosted-zone-id ZONE ID > records.json
Example usage:
ZONE_FILE=records.json TERRAFORM_DIR=zone_name python generate_zone_records_from_json.py
Based on:
https://mrkaran.dev/posts/terraform-route53-import/
@jacoor
jacoor / github_release.sh
Created April 5, 2018 09:06
Create a github release
curl --data '{"tag_name": "'$TAG'","target_commitish": "'$PRODUCTION'","name": "'$TAG'","body": "","draft": false,"prerelease": false}' https://api.github.com/repos/:owner/:repository/releases?access_token=:your_access_token
@jacoor
jacoor / JiraCopy.js
Last active December 18, 2020 17:33
Bookmarklet to copy jira ticket # + title for easier commit creation. Just install this as a bookmarklet in your browser (tested in chrome) and use.
javascript:!function(a){var b=document.createElement("textarea"),c=document.getSelection();b.textContent=a,document.body.appendChild(b),c.removeAllRanges(),b.select(),document.execCommand("copy"),c.removeAllRanges(),document.body.removeChild(b)}(document.title.split("]")[0].replace("[","")+" - "+document.getElementById("summary-val").textContent);
@jacoor
jacoor / AdditionalDataListApiView.py
Created March 5, 2014 15:37
additional data for listApiView for django.rest.framework
class TransactionsList(ListAPIView):
"""
List all transactions for currently logged in user, paginated by 25
page -- page number
ordering -- yoddle_amount, created, yoddle_description, reverse order ie. -yoddle_amount
"""
model = Transaction
@jacoor
jacoor / userdata.sh
Created April 30, 2019 11:34
AWS EC2 user data error handling
# error handling
# redirect logs so can be found in instance -> actions -> instance settings -> Get System log
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
# trap errors. Shutdown restarts machine in an hour and prevents further commands,
# so instances won't finish booting and won't report to ECS
function my_trap()
{
echo "Sorry, there was an error at line $1 $2" && shutdown -h +60
}
trap 'my_trap $${LINENO} $$? ' ERR
@jacoor
jacoor / aws-sdk.ts
Last active April 22, 2020 12:12
Manual mocks for aws-sdk.js using jest.
// inspired by: https://derikwhittaker.blog/2018/02/20/using-manual-mocks-to-test-the-aws-sdk-with-jest/
let AWS = {
// This here is to allow/prevent runtime errors if you are using
// AWS.config to do some runtime configuration of the library.
// If you do not need any runtime configuration you can omit this.
config: {
setPromisesDependency: (arg) => {},
update: (arg) => {},
},