') + ')', 'gi');
if (regex.test(text)) {
found = true;
var frag = document.createDocumentFragment();
var parts = text.split(regex);
parts.forEach(function(part, i) {
if (i % 2 === 0) {
frag.appendChild(document.createTextNode(part));
} else {
var span = document.createElement('span');
span.className = 'userscript-highlight';
span.textContent = part;
frag.appendChild(span);
}
});
node.parentNode.replaceChild(frag, node);
}
});
} else if (node.nodeType === 1 && node.childNodes) { // element
var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];
if (!skipTags.includes(node.tagName)) {
Array.from(node.childNodes).forEach(highlight);
}
}
}
highlight(document.body);
// Re-highlight on dynamic content
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(m) {
m.addedNodes.forEach(function(node) {
if (node.nodeType === 1 || node.nodeType === 3) highlight(node);
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); }
})();
(function(){
try {
var __m = "*";
var __re = new RegExp('^' + ".*" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Strip utm_, fbclid, gclid, etc. from all links on page
(function() {
var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',
'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',
'ref', 'ref_src', 'source', 'medium', 'campaign'];
function cleanUrl(url) {
try {
var u = new URL(url, window.location.origin);
var changed = false;
trackingParams.forEach(function(p) {
if (u.searchParams.has(p)) {
u.searchParams.delete(p);
changed = true;
}
});
return changed ? u.toString() : url;
} catch (e) {
return url;
}
}
function cleanLinks() {
document.querySelectorAll('a[href]').forEach(function(a) {
var clean = cleanUrl(a.href);
if (clean !== a.href) a.href = clean;
});
}
cleanLinks();
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(m) {
m.addedNodes.forEach(function(node) {
if (node.nodeType === 1) {
if (node.tagName === 'A') cleanLinks();
node.querySelectorAll('a[href]').forEach(function(a) {
var clean = cleanUrl(a.href);
if (clean !== a.href) a.href = clean;
});
}
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); }
})();
(function(){
try {
var __m = "youtube.com";
var __re = new RegExp('^' + "youtube\\.com" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Auto-enable theater mode on YouTube
(function() {
function tryTheater() {
var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]');
if (btn && !btn.classList.contains('activated')) {
btn.click();
}
}
// Try immediately
tryTheater();
// Try after navigation (SPA)
var lastUrl = location.href;
setInterval(function() {
if (location.href !== lastUrl) {
lastUrl = location.href;
setTimeout(tryTheater, 500);
}
}, 1000);
// Also try on player load
var observer = new MutationObserver(tryTheater);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); }
})();
(function(){
try {
var __m = "*";
var __re = new RegExp('^' + ".*" + ', 'i');
if (__m === '*' || __re.test(location.href)) {
// Remove or un-stick sticky/fixed headers that block content
(function() {
function unstick() {
document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) {
if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {
el.style.position = 'static';
el.style.top = 'auto';
el.style.zIndex = 'auto';
}
});
}
unstick();
var observer = new MutationObserver(unstick);
observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });
})();
}
} catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); }
})();
})();
GitHub - GottWall/stati-python-net: Python client with HTTP & UDP & TCP/IP transports for GottWall statistics aggregator · GitHub
This repository was archived by the owner on Jan 1, 2019. It is now read-only.
Repository files navigation Welcome to stati-python-net's documentation! stati-python-net is a python client with HTTP & UDP & TCP/IP transports for GottWall metrics aggregation platform
To use gottwall use pip or easy_install:
pip install stati-net
or:
easy_install stati-net
# HTTPClient from stati_net import HTTPClient private_key = "gottwall_privatekey" public_key = "project_public_key" project = "test_gottwall_project" host = "http://127.0.0.1:8890" cli = HTTPClient (private_key = private_key ,
public_key = public_key ,
project = project ,
host = host ,
prefix = None )
cli .incr (name = "orders" , value = 2 , filters = {"status" : ["Completed" , "Waiting" ]})# TCP/IP Client from stati_net import TCPIPClient private_key = "gottwall_privatekey" public_key = "project_public_key" project = "test_gottwall_project" host = "127.0.0.1" port = 8097 client = TCPIPClient (project = project ,
private_key = private_key ,
public_key = public_key ,
host = host , port = port ,
auth_delimiter = "--stream-auth--" , #optional chunk_delimiter = "--chunk--" ) #optional cli .incr (name = "orders" , value = 2 , filters = {"status" : ["Completed" , "Waiting" ]})# UDP client from stati_net import UDPClient private_key = "gottwall_privatekey" public_key = "project_public_key" project = "test_gottwall_project" host = "127.0.0.1" port = 8097 client = UDPClient (project = project ,
private_key = private_key ,
public_key = public_key ,
host = host , port = port ,
auth_delimiter = "--stream-auth--" , #optional chunk_delimiter = "--chunk--" , #optional max_packet_size = 1024 ) #optional cli .incr (name = "orders" , value = 2 , filters = {"status" : ["Completed" , "Waiting" ]})We need you help.
Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
There is a Contributor Friendly tag for issues that should be ideal for people who are not very familiar with the codebase yet. Fork the repository on Github to start making your changes to the develop branch (or branch off of it). Write a test which shows that the bug was fixed or that the feature works as expected. Send a pull request and bug the maintainer until it gets merged and published.
You can’t perform that action at this time.