Skip to content

Instantly share code, notes, and snippets.

@pepetox
pepetox / Code.gs
Last active January 27, 2020 17:55
Código taller para para car
/**
* @OnlyCurrentDoc
*/
function doGet(e) {
var myparams = e.queryString
var peticiones = SpreadsheetApp.getActive().getSheetByName("Peticiones");
peticiones.appendRow([myparams, Session.getActiveUser().getEmail(), new Date()])
return HtmlService.createHtmlOutput('<b>Petición Registrada </b>');
}
@pepetox
pepetox / index.js
Created October 19, 2019 17:27
Dialogflow Workshop Fulfillment Code
'use strict';
const functions = require('firebase-functions');
const {google} = require('googleapis');
const {WebhookClient} = require('dialogflow-fulfillment');
//id of the calendar to insert events
const calendarId = "g8gas0qsadfasdasdfasdfaj9hqt0@group.calendar.google.com";
//Paste here the content of key.json
const serviceAccount = {
"type": "service_account"
@pepetox
pepetox / filtratabla.html
Created January 10, 2019 11:57
Filtrar en una tabla js vanilla
//based on https://stackoverflow.com/questions/43622127/filtering-table-multiple-columns
//<input type="text" id="myInput" onkeyup="searchFunction()" placeholder="Buscar.." title="Type in a name">
function filterTable(event) {
var filter = event.target.value.toUpperCase();
var rows = document.querySelector("#myTable").rows;
for (var i = 0; i < rows.length; i++) {
var firstCol = rows[i].cells[0].textContent.toUpperCase();
var secondCol = rows[i].cells[1].textContent.toUpperCase();
if (rows[i].textContent.toUpperCase().indexOf(filter) > -1) {
@pepetox
pepetox / index.js
Created January 8, 2019 16:29
Function to take snapshoot
//gcloud beta functions deploy screenshot --trigger-http --runtime nodejs8
const puppeteer = require('puppeteer');
let page;
async function getBrowserPage() {
// Launch headless Chrome. Turn off sandbox so Chrome can run under root.
const browser = await puppeteer.launch({args: ['--no-sandbox']});
return browser.newPage();
}
@pepetox
pepetox / form.hbs
Created November 29, 2018 20:42
function to use a automl vision model
<!DOCTYPE html>
<html>
<title>Navidator</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Raleway">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<style>
@pepetox
pepetox / index.js
Created November 28, 2018 21:01
Function to upload picture and use vision api
//gcloud functions deploy visionapp --runtime nodejs6 --trigger-http --project projectname
'use strict';
var express = require('express');
var fs = require('fs');
var util = require('util');
var mime = require('mime-types')
const path = require('path');
const os = require('os');
// Node.js doesn't have a built-in multipart/form-data parsing library.
@pepetox
pepetox / index.js
Created November 22, 2018 15:14
GCP for moderation of pictures
//gcloud functions deploy imgmoderator --runtime nodejs6 --trigger-resource gs://mybuckettomoderate --trigger-event google.storage.object.finalize --project myproject
const vision = require('@google-cloud/vision');
const {Storage} = require('@google-cloud/storage');
const client = new vision.ImageAnnotatorClient();
const gcs = new Storage();
exports.imgmoderator = function (event, callback) {
const object = event.data;
const bucket = gcs.bucket(object.bucket);
if (object.resourceState === 'not_exists') {return console.log('This is a deletion event.');}
client.safeSearchDetection(`gs://${object.bucket}/${object.name}`).then(results => {
@pepetox
pepetox / code.sh
Created October 17, 2018 11:24
install stackdriver on vm
# To install the Stackdriver monitoring agent:
$ curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
$ sudo bash install-monitoring-agent.sh
# To install the Stackdriver logging agent:
$ curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
$ sudo bash install-logging-agent.sh
@pepetox
pepetox / index.js
Created September 12, 2018 08:08
Download files from GCS to local, with support for multi folders
//export GOOGLE_APPLICATION_CREDENTIALS =./serviceaccount.json
//npm i --save @google-cloud/storage
//node index.js
var storage = require('@google-cloud/storage')();
var bucket = storage.bucket('mybucket');
var fs = require('fs');
//Download of a file
//var remoteFile = bucket.file('intdb');
//var localFilename = './files/intdb';
@pepetox
pepetox / index.js
Created June 13, 2018 10:26
download file from cloud storage
//export GOOGLE_APPLICATION_CREDENTIALS =./serviceaccount.json
//npm i --save @google-cloud/storage
//node index.js
var storage = require('@google-cloud/storage')();
var bucket = storage.bucket('nameofbucket');
var fs = require('fs');
var remoteFile = bucket.file('mi_file.txt');
var localFilename = '/filepath/mi_file.txt';