Skip to content

Instantly share code, notes, and snippets.

View om2c0de's full-sized avatar
🖋️
Innovating

Alexandr Skripkin om2c0de

🖋️
Innovating
View GitHub Profile
@om2c0de
om2c0de / models.py
Created February 2, 2023 10:28
MTC New tables
from django.db import models
from apps.evidences.models import Evidences
from apps.learners.models import Learners
class CreditArchitectures(models.Model):
"""
Модель школы профильная
"""
@om2c0de
om2c0de / views.py
Created December 7, 2021 08:44
Export krb
import rest_framework.status
from django.shortcuts import get_object_or_404
from rest_framework import viewsets, status
from rest_framework.decorators import action
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from apps.projects.models import Project, StyleTemplate, ProjectLogRecord, ProjectLog
from apps.projects.serializers import ProjectSerializer, StyleTemplateSerializer, ProjectLogRecordSerializer
from core.models import PhysicalObject, PhysicalObjectType, ResearchType, Research, Collection
@om2c0de
om2c0de / kivyconsole.py
Created November 29, 2021 14:38 — forked from aron-bordin/kivyconsole.py
Initial Python/Kivy Terminal Emulator (It's just a performance test. You can use this sample to write your own terminal emulator)
from kivy.base import runTouchApp
from kivy.event import EventDispatcher
from kivy.lang import Builder
from kivy.properties import ObjectProperty, ListProperty, StringProperty, \
NumericProperty, Clock, partial
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.textinput import TextInput
import os
import subprocess
import threading
@om2c0de
om2c0de / models.py
Created August 6, 2021 17:19
Filtering multiple types
class TypeFilter:
name = models.CharField(max_length=255)
class TypeFilterCondition:
# Filtering types
physical_object_type = models.ForeignKey(PhysicalObjectType, related_name='+', on_delete=models.CASCADE)
research_type = models.ForeignKey(ResearchType, related_name='+', on_delete=models.CASCADE)
# Fields filtering possibilities
@om2c0de
om2c0de / async_bind.py
Created February 23, 2021 16:08
Imitating 'async_bind'
# imitating 'async_bind'
from kivy.config import Config
Config.set('input', 'mouse', 'mouse,disable_multitouch')
import kivy
kivy.require('2.0.0')
import trio
from kivy.app import App
from kivy.uix.widget import Widget
@om2c0de
om2c0de / get_models_from_app.py
Created January 29, 2021 12:10 — forked from kissgyorgy/get_models_from_app.py
Django: Get list of models from app
# http://stackoverflow.com/questions/8702772/django-get-list-of-models-in-application
from django.db.models import get_app, get_models
app = get_app('my_application_name')
for model in get_models(app):
new_object = model() # Create an instance of that model
model.objects.filter(...) # Query the objects of that model
model._meta.db_table # Get the name of the model in the database
model._meta.verbose_name # Get a verbose name of the model
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/root.json",
"type": ["object", "string"],
"title": "rootSchema",
"required": [
"№ скважины"
],
"properties": {
@om2c0de
om2c0de / git-deployment.md
Created October 3, 2020 18:23 — forked from noelboss/git-deployment.md
Simple automated GIT Deployment using Hooks

Simple automated GIT Deployment using GIT Hooks

Here are the simple steps needed to create a deployment from your local GIT repository to a server based on this in-depth tutorial.

How it works

You are developing in a working-copy on your local machine, lets say on the master branch. Most of the time, people would push code to a remote server like github.com or gitlab.com and pull or export it to a production server. Or you use a service like deepl.io to act upon a Web-Hook that's triggered that service.

@om2c0de
om2c0de / gist:9ca76229082c5d2be5a37b5b166e3dea
Created September 30, 2020 10:03
JWT against Kerberos.
def auth_jwt(self, auth_header, callback):
jwt_token = auth_header.split()[1]
try:
user_data = jwt.decode(jwt_token, self.settings['jwt_secret_key'], algorithms=['HS256'])
username = user_data['username']
password = user_data['password']
kerberos.checkPassword(username, password, self.settings['sso_service'], self.settings['sso_realm'])
except Exception as e:
logging.error(f'JWT Error: {e}')
raise tornado.web.HTTPError(401, 'Invalid authentication token.')
@om2c0de
om2c0de / main.py
Created September 29, 2020 14:26
AD Sync
import os
import mongoengine
from dataclasses import dataclass
from ldif import LDIFRecordList
from auth.plugins.ad_emulator.service import RemoteUser, RemoteResource
# MongoDB settings.
MONGODB_HOST = os.environ.get('VEGA_MONGODB_HOST', '127.0.0.1')
MONGODB_PORT = os.environ.get('VEGA_MONGODB_PORT', 27017)