Skip to content

Instantly share code, notes, and snippets.

View eagletmt's full-sized avatar

Kohei Suzuki eagletmt

View GitHub Profile
module Foo where
-- This line is to be said "warning: Top-level binding ..."
foo = "foo"
@eagletmt
eagletmt / cabal-preprocess.hs
Created March 28, 2012 16:30
cabal build のときに自動的に走る前処理だけを実行する
module Main where
import Control.Applicative ((<$>))
import Data.List (isSuffixOf)
import System.Exit (exitFailure)
import System.IO (hPutStrLn, stderr)
import System.Directory (getDirectoryContents)
import System.FilePath (takeDirectory, (</>))
import Distribution.Verbosity (silent)
import Distribution.PackageDescription.Parse (readPackageDescription)
import Distribution.PackageDescription.Configuration (flattenPackageDescription)
@eagletmt
eagletmt / oppai.hs
Created March 20, 2012 18:48
Haskellでいかにしておっぱい画像をダウンロードするか〜2012
{-# LANGUAGE OverloadedStrings, RecordWildCards, TupleSections #-}
-- Build-depends:
-- base, transformers, directory, filepath, bytestring, text, vector
-- , aeson, lifted-base, conduit, attoparsec-conduit, http-types, http-conduit
-- たぶん cabal install aeson http-conduit で全部入る。
import Control.Applicative
import Control.Monad (void, when)
import Control.Monad.IO.Class
import Data.String (IsString)
import qualified Data.ByteString as S
@eagletmt
eagletmt / Main.hs
Created March 16, 2012 15:20
レコードっぽい JSON に対する FromJSON のインスタンス宣言をつくる
{-# LANGUAGE TemplateHaskell, OverloadedStrings #-}
import Data.Aeson
import Data.ByteString.Lazy.Char8 ()
import Data.Aeson.TH.Record
data Obj = MkObj { objFooBar :: Int, objHoge :: [String] } deriving Show
newtype R = MkR { unR :: Obj } deriving Show
data X = MkX { xNullableInt :: Maybe Int, xOptionalDouble :: Maybe Double } deriving Show
function! Omni(findstart, base)
return a:findstart ? -1 : ['foo', 'bar']
endfunction
set omnifunc=Omni
module M where
foo, bar :: Double
foo = 10
bar = foo + foo
@eagletmt
eagletmt / tombloo.service.extractors.Danbooru.js
Created December 23, 2011 13:44
Tombloo extractor for Danbooru
(function() {
Tombloo.Service.extractors.register({
name : 'Photo - Danbooru',
ICON : 'http://danbooru.donmai.us/favicon.ico',
URL : 'http://danbooru.donmai.us/',
check : function(ctx) {
const DANBOORU_LIKE_SITES = [
'://danbooru.donmai.us/post/show/',
'://yande.re/post/show/',
'://konachan.com/post/show/',
@eagletmt
eagletmt / aoj_show_all_rows.user.js
Created November 3, 2011 04:39
AOJ で表(Problem Set や Problem Status)の要素をすべて表示させる
// ==UserScript==
// @name AOJ show all rows
// @namespace http://d.hatena.ne.jp/eagletmt/
// @include http://judge.u-aizu.ac.jp/onlinejudge/*
// ==/UserScript==
setTimeout(function() {
var $ = unsafeWindow.$;
if ($.jgrid) {
$('.ui-jqgrid-bdiv').css('height', 'auto');
diff --git a/components/greasemonkey.js b/components/greasemonkey.js
index 121f661..b199425 100644
--- a/components/greasemonkey.js
+++ b/components/greasemonkey.js
@@ -67,7 +67,7 @@ function GM_apiLeakCheck(apiName) {
}
function createSandbox(
- aScript, aContentWin, aChromeWin, aFirebugConsole, aUrl
+ aScript, aContentWin, aChromeWin, aFirebugConsole, aUrl, aSharedWin
diff --git a/stella.js b/stella.js
index 6b476cd..63f7b9e 100644
--- a/stella.js
+++ b/stella.js
@@ -967,8 +967,12 @@ Thanks:
// all(1080p,720p,480p,360p) -> 37, 22, 35, 34, 5
// FIXME 一番初めが最高画質だと期待
let cargs = content.wrappedJSObject.yt.config_.PLAYER_CONFIG.args;
- let url = decodeURIComponent(cargs.fmt_url_map.split(',')[0].split('|')[1]);
- U.download(url, filepath, '.flv', this.title);