mirror of
https://github.com/marty-oehme/scripts.git
synced 2024-12-22 07:58:08 +00:00
Merge branch 'master' of https://github.com/qownnotes/scripts
This commit is contained in:
commit
d48618df9f
4 changed files with 137 additions and 0 deletions
9
paste-from-skype-history/info.json
Normal file
9
paste-from-skype-history/info.json
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "Paste text from Skype history",
|
||||
"identifier": "paste-from-skype-history",
|
||||
"script": "paste-from-skype-history.qml",
|
||||
"authors": ["@pbek"],
|
||||
"version": "0.0.1",
|
||||
"minAppVersion": "17.05.6",
|
||||
"description" : "This script creates a menu item and a button that parses the text that was copied from the Skype Electron client to the clipboard and tries to extract and paste text from it."
|
||||
}
|
39
paste-from-skype-history/paste-from-skype-history.qml
Normal file
39
paste-from-skype-history/paste-from-skype-history.qml
Normal file
|
@ -0,0 +1,39 @@
|
|||
import QtQml 2.0
|
||||
import QOwnNotesTypes 1.0
|
||||
|
||||
/**
|
||||
* This script creates a menu item and a button that parses the text that was copied from the Skype Electron client
|
||||
* to the clipboard and tries to extract and paste text from it
|
||||
*/
|
||||
QtObject {
|
||||
/**
|
||||
* Initializes the custom action
|
||||
*/
|
||||
function init() {
|
||||
// create a menu entry with a button and a freedesktop theme icon
|
||||
script.registerCustomAction("pasteFromSkypeHistory", "Paste text from Skype history", "Paste Skype Text", "edit-paste");
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is invoked when a custom action is triggered
|
||||
* in the menu or via button
|
||||
*
|
||||
* @param identifier string the identifier defined in registerCustomAction
|
||||
*/
|
||||
function customActionInvoked(identifier) {
|
||||
if (identifier != "pasteFromSkypeHistory") {
|
||||
return;
|
||||
}
|
||||
// get the text that is currently in the clipboard
|
||||
var html = script.clipboard(true);
|
||||
|
||||
// script.log(html);
|
||||
|
||||
var textRegExp = /<p.*?>(.+?)<\/p>/gim;
|
||||
var match;
|
||||
|
||||
while ((match = textRegExp.exec(html)) !== null) {
|
||||
script.noteTextEditWrite(match[1].replace(/<.+?>/gim, "") + "\n");
|
||||
}
|
||||
}
|
||||
}
|
9
weather-stats/info.json
Normal file
9
weather-stats/info.json
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "Weather stats",
|
||||
"identifier": "weather-stats",
|
||||
"script": "weather-stats.qml",
|
||||
"version": "0.0.3",
|
||||
"minAppVersion": "17.06.4",
|
||||
"authors": ["@pbek"],
|
||||
"description" : "This script shows the current weather in the <i>Scripting widget</i>. You can configure the city in the <i>Scripting Settings</i>. The Yahoo weather service is used to fetch the weather. The information is updated every 10min."
|
||||
}
|
80
weather-stats/weather-stats.qml
Normal file
80
weather-stats/weather-stats.qml
Normal file
|
@ -0,0 +1,80 @@
|
|||
import QtQml 2.0
|
||||
import QOwnNotesTypes 1.0
|
||||
|
||||
/**
|
||||
* This script shows current weather statistics in a "scripting label"
|
||||
*
|
||||
* The Yahoo weather api is used for fetching the weather data
|
||||
* https://developer.yahoo.com/weather/
|
||||
*/
|
||||
|
||||
Script {
|
||||
// you have to define your registered variables so you can access them later
|
||||
property string city;
|
||||
property bool useFahrenheit;
|
||||
|
||||
// register your settings variables so the user can set them in the script settings
|
||||
property variant settingsVariables: [
|
||||
{
|
||||
"identifier": "city",
|
||||
"name": "City",
|
||||
"description": "Please enter your city:",
|
||||
"type": "string",
|
||||
"default": "Graz",
|
||||
},
|
||||
{
|
||||
"identifier": "useFahrenheit",
|
||||
"name": "Unit",
|
||||
"description": "Use Fahrenheit instead of Celsius",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
},
|
||||
];
|
||||
|
||||
function init() {
|
||||
script.registerLabel("weather stats")
|
||||
weatherStats();
|
||||
}
|
||||
|
||||
function weatherStats() {
|
||||
var unitString = useFahrenheit ? "f" : "c"
|
||||
var json = script.downloadUrlToString("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%20text%3D%22" + city + "%22)%20and%20u%3D%27" + unitString + "%27&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys");
|
||||
var weatherInfo = JSON.parse(json);
|
||||
|
||||
var temp = weatherInfo.query.results.channel.item.condition.temp
|
||||
var tempUnit = weatherInfo.query.results.channel.units.temperature;
|
||||
var conditionText = weatherInfo.query.results.channel.item.condition.text
|
||||
var weatherCity = weatherInfo.query.results.channel.location.city
|
||||
var windSpeed = weatherInfo.query.results.channel.wind.speed
|
||||
var windUnit = weatherInfo.query.results.channel.units.speed;
|
||||
|
||||
if (!useFahrenheit) {
|
||||
tempUnit = "°" + tempUnit;
|
||||
}
|
||||
|
||||
script.setLabelText("weather stats",
|
||||
"<table align='center' width='90%'>
|
||||
<tr>
|
||||
<td align='center'>
|
||||
Weather in <b>" + weatherCity + "</b>: " + conditionText + " at <b>" + temp + " " + tempUnit + "</b>
|
||||
(" + windSpeed + " " + windUnit + " wind)
|
||||
</tb>
|
||||
</tr>
|
||||
</table>")
|
||||
}
|
||||
|
||||
/**
|
||||
* This starts a timer that triggers every 10min
|
||||
*/
|
||||
property QtObject timer: Timer {
|
||||
interval: 600000
|
||||
repeat: true
|
||||
running: true
|
||||
|
||||
property int count: 0
|
||||
|
||||
onTriggered: {
|
||||
weatherStats();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue