A backup copy of the code from https://david.rothlis.net/declarative-schema-migration-for-sqlite/
Code is MIT licensed, written by William Manley, copyright © 2019-2022 Stb-tester.com Ltd
A backup copy of the code from https://david.rothlis.net/declarative-schema-migration-for-sqlite/
Code is MIT licensed, written by William Manley, copyright © 2019-2022 Stb-tester.com Ltd
Visualizar os campos disponíveis para itemtype
ITILCategory
curl --request GET \
--url https://glpi.exemplo.com.br/apirest.php/listSearchOptions/ITILCategory \
--header 'App-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'Content-Type: application/json' \
--header 'Session-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
# Run this in the same directory as the Hangouts.json file generated by Google Takeout / Data Export tool. | |
# python3 hangouts.py | |
import json | |
import datetime | |
import os | |
import shutil | |
import re | |
chat_dir = "hangouts" |
This flow provides a "fake" OAuth 2 implementation for use with the Google Actions API.
Exposes three endpoints:
class Specification: | |
def __and__(self, other): | |
return And(self, other) | |
def __or__(self, other): | |
return Or(self, other) | |
def __xor__(self, other): | |
return Xor(self, other) |
frappe.ui.form.on("Quotation", "refresh", function(frm, doctype, name) { | |
cur_frm.add_custom_button(__('Add Interaction'), function() { | |
var d = frappe.prompt([ | |
{label:__("Type of Interaction"), fieldtype:"Select", | |
options: ["SMS", "Call", "Visit", "Webex"], | |
fieldname:"type_of_interaction"}, | |
{label:__("Result"), fieldtype:"Select", options: ["Status Quo", "Warmer", "Colder"], fieldname:"result"}, | |
{fieldtype: "Column Break"}, | |
{'fieldname': 'responce_reson', 'fieldtype': 'Data', 'label': 'Responce Reson', 'reqd': 0}, | |
{'fieldname': 'next_date', 'fieldtype': 'Date', 'label': 'Next Action Date', 'reqd': 0}, |
You don't really need a framework or fancy cutting-edge JavaScript features to do two-way data binding. Let's start basic - first and foremost, you need a way to tell when data changes. Traditionally, this is done via an Observer pattern, but a full-blown implementation of that is a little clunky for nice, lightweight JavaScript. So, if native getters/setters are out, the only mechanism we have are accessors:
var n = 5;
function getN() { return n; }
function setN(newN) { n = newN; }
console.log(getN()); // 5
setN(10);
''' | |
The MIT License (MIT) | |
Copyright (C) 2014, 2015 Seven Watt <info@sevenwatt.com> | |
<http://www.sevenwatt.com> | |
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | |
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. |
>>> import os | |
>>> programa = r'C:\Program Files (x86)\mongoDB\bin\mongod.exe' | |
>>> parametros = r'--logpath "C:\Foo\Bar\Base\install.log" --dbpath "C:\Foo\Bar\Base\data\db" --port 1124' | |
>>> os.path.dirname(programa) | |
'C:\\Program Files (x86)\\mongoDB\\bin' | |
>>> os.path.basename(programa) | |
'mongod.exe' | |
>>> os.spawnl(os.P_WAIT, os.path.dirname(programa), os.path.basename(programa), parametros) | |
Traceback (most recent call last): | |
File "<pyshell#20>", line 1, in <module> |
""" | |
Inspired by http://code.activestate.com/recipes/578253-an-entry-with-autocompletion-for-the-tkinter-gui/ | |
Changes: | |
- Fixed AttributeError: 'AutocompleteEntry' object has no attribute 'listbox' | |
- Fixed scrolling listbox | |
- Case-insensitive search | |
- Added focus to entry field | |
- Custom listbox length, listbox width matches entry field width | |
- Custom matches function | |
""" |