nb

{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "5ebac58d",
   "metadata": {},
   "source": [
    "# 🧙 ➡ 📄 Extract Magento Orders"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c8751754",
   "metadata": {},
   "source": [
    "## 🏗️ Import initial required packages and setup environment"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2aedaf6e",
   "metadata": {
    "is_executing": true
   },
   "outputs": [],
   "source": [
   

main

import os
import logging.config
import logging.handlers
import pandas as pd
import warnings
import logging
import pygsheets

warnings.filterwarnings('ignore')

def setup_logging():
    try:
        # First attempt to configure logging
        logging.config.fileConfig('../parameters/logs.ini', disable_existing_loggers=False)
    except Exception:
        # If an exception occurs, try a different configuration
        logging.config.fileConfig('parameters/logs.ini', disable_existi

gchat

import os

#-----------------------------------------------------------------------------------------------------------------------
# Parser for google analytics reports
#-----------------------------------------------------------------------------------------------------------------------

# Google Analytics Report Parser
def ga_parser(response):
  import pandas as pd
  list = []
  # get report data
  for report in response.get('reports', []):
    # set column headers
    columnHea

connections

import os
import pandas as pd
import paramiko
import pymysql
from typing import Generator
from contextlib import contextmanager
from sqlalchemy import create_engine
from sshtunnel import SSHTunnelForwarder
from lib.etl import setup_logging
from urllib.parse import quote  

logger = setup_logging()

class DatabaseConnection:
    def __init__(self):
        self.engine = None
        self.connection = None
        self.logger = logger

    @staticmethod
    def get_private_key(

validations

import re
from decimal import Decimal
import functools
import pandas as pd
import pandera as pa
from pandera import DataFrameModel
from datetime import datetime
from pydantic import BaseModel, EmailStr, Field, validator, ValidationError, model_validator, root_validator
from typing import List, Literal, Optional, TypeVar
from pandera.typing import DataFrame
from lib.constants import unique_line_item_identifiers, all_order_required_billing_column_labels, all_required_customer_address_col

Testing

import os
import re
import json
import html
import math
import pandas as pd
import numpy as np
from lib.constants import faked_phone_number, known_fake_emails, known_fake_phone_numbers, unique_line_item_identifiers, global_customer_export_labels, all_order_required_billing_column_labels, all_order_billing_column_labels, line_item_constructed_note_labels
from phonenumberfmt import format_phone_number
from lib.etl import cpap_tools
from IPython.display import display
import glob

# In

randomly sample rows from pandas

sampled_df = df.sample(n=20, random_state=42)
for idx, row in sampled_df.iterrows():
    # Do something with the row
    print(idx, row)

Cypress Snippets

npm i cypress --save-dev [Installation]
npx cypress open [Open and configure]

[Basic Test]
describe('template spec', () =>{
  it('passses a test', () => {
    cy.visit('https://example.url.com')
    cy.get('[date-test="some-name"]').conains(/Som Text/i)
  })
})


String Array Sorting

import java.util.*;

public class ArrStringSort {
    public static void main(String[] args) {
        String str[] = {"John", "Jill", "James", "Adam", "Jack", "Joanie", "Jim"};
        
        System.out.println(Arrays.toString(str));
        
        //sort the array
        for (int i = 0; i < str.length; i++) {
            for (int j = 0; j < str.length-1; j++) {
                if (str[j].compareTo(str[j+1]) > 0){
                    String tmp = str[j];
                    st

Array Sorting

import java.util.*;

public class ArrSorting {
    public static void main(String[] args) {
        int arr[] = {3, 6, 8, 1, 5, 2, 6, 7};
        
        System.out.println(Arrays.toString(arr));
        
        int size = arr.length;
        
        // loop to access each pass
        for (int i = 0; i < size; i++) {
            // loop to access each array element
            for (int j = 0; j < size-1; j++) {
                // compare two adjacent elements
                /

Guessing Game

package howells;

public class NumberCheck {
    private int random;
   
    public void generateNumber(){
        random = (int)(Math.random() * 101);
    }
   
    public int checkGuess(int guess){
        if (guess < random) return 1;
        else if (guess > random) return 2;
        else return 0;
    }
}

//MainUI**************************************************

import javax.swing.*;

public class GuessingGame {
    public static void main(String[] args) {
        N

Convert Vue component to Web component

<!-- ce je jen interni oznaceni ze to bude custom element = web component -->
<script setup>
defineProps({
  msg: {
    type: String,
    required: true,
    default: 'AAA'
  }
})
</script>

<template>
  <div>{{ msg }}</div>
</template>

<style scoped>
h1 {
  font-weight: 500;
  font-size: 2.6rem;
  position: relative;
  top: -10px;
}

h3 {
  font-size: 1.2rem;
}

.greetings h1,
.greetings h3 {
  text-align: center;
}

@media (min-width: 1024px) {
  .greetings h1,
  .greetings h3 {
    text-alig

HTMX Trigger from JS event

<form 
  id="keyword_suggestions_form" 
  hx-post="/api/v2/keyword_suggestions"
  hx-target="#keywords_container" 
  hx-indicator="#loader_container"
  hx-on:htmx:before-request="emptyDiv('#keywords_container')"
  hx-trigger="submit[!isFieldEmpty('#seed_keyword')], submitKeywordSearch from:body"
>
    <input type="hidden" name="search_type" id="search_type" value="all_terms">
</form>

HTMX load specific content rather than whole partial file

<div 
    hx-get="/api/v1/pending_articles_count"
    hx-trigger="every 30s"
    hx-select="#pending_articles_count_content"
    hx-target="this"
class="header-menu">
    <!--tips: use hx-select to only target the div, and not whole partial -->
    <span class="font-light">Generating</span>
</div>

HTMX validate before trigger

<form 
  id="keyword_suggestions_form" 
  hx-post="/api/v2/keyword_suggestions"
  hx-target="#keywords_container" 
  hx-indicator="#loader_container"
  hx-on:htmx:before-request="emptyDiv('#keywords_container')"
  hx-trigger="submit[!isFieldEmpty('#seed_keyword')]"
>
    <input type="hidden" name="search_type" id="search_type" value="all_terms">
</form>

13052024B

inicio{
"host":"0E0272FD483D2926380E66AAAFB1BC",
"porta":"473D2C"
}fim