sh opower-csv-to-csv < pge_*.csv
Take your PG&E csv data export (pge_electric_interval_data_NNNNNNNNNN_YY-MM-DD_to_YYYY-MM-DD.csv)
for the date range you want,
| 'use strict';var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"])_i["return"]();}finally{if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}else{return Array.from(arr);}}var deQuery=function deQuery(){var q=argu |
| class SRT { | |
| constructor(s) { this.setSubs(typeof s === 'string' ? SRT.decode(s) : s); } | |
| toString() { return SRT.encode(this.subs); } | |
| timeShift(dt) { | |
| return new SRT(this.subs.map(s => Object.assign({}, s, {t: s.t + dt}))); | |
| } | |
| getSubs() { return this.subs.map(o => Object.assign({}, o)); } | |
| setSubs(subs) { this.subs = subs; return this; } |
| const scrape = (scraper) => { | |
| let spec = 'dom' in scraper ? scraper : { dom: scraper }; | |
| on(spec).then((scraped) => { | |
| console.info('on.dom scraped:', {scraper, scraped}); | |
| exportToPage({scraper, scraped, on}); | |
| evalInPage('on'); | |
| }); | |
| }; | |
| const exportToPage = (obj) => { |
| (function(deferFunctions) { | |
| for (var setter in deferFunctions) (function(setter, clearer) { | |
| var ids = []; | |
| var startFn = window[setter]; | |
| var clearFn = window[clearer]; | |
| function clear(id) { | |
| var index = ids.indexOf(id); | |
| if (index !== -1) ids.splice(index, 1); | |
| return clearFn.apply(window, arguments); |
| // alert.js | |
| const stripes = document.createElement('div'); | |
| stripes.style.cssText = ` | |
| height: 20px; | |
| width: 100%; | |
| position: fixed; | |
| z-index: 99999; | |
| opacity: 0.7; | |
| pointer-events: none; |
| // ==UserScript== | |
| // @name Clear Facebook Notifications Once | |
| // @description If you have multiple Facebook tabs open | |
| // @match https://*.facebook.com/* | |
| // @namespace https://github.com/johan/ | |
| // ==/UserScript== | |
| const onStorageChange, onNotificationClick; | |
| window.addEventListener('storage', onStorageChange = (e) => { |
This chime, as an iphone ring tone file.
| license: gpl-3.0 |
Facebook US' recognized holidays are: