ಠ_ಠ.ps1

Reizēm nākas darboties ar veciem un veciem rīkiem, kuriem ir problēmas darboties caur proxy un neviens no ieteiktajiem risinājumiem nelīdz. Varētu, protams, lūgt administratorus nākt talkā risināt problēmu ar proxy settingiem, bet tad būtu jārunā ar cilvēkiem.

Tā kā negribās lietot korektus risinājumus, tad talkā nāk spēks un liels āmurs.

Cik skatījos, tad Maven cītīgi un nesekmīgi mēģina lejuplādēt dažādus failus. Bet ja es failu novelku pareizajā mapē pats, tad process tomēr turpinās tālāk pat pēc taimauta. Perfekti! Redirectējot Mavena outputu uz log.txt, es varu uzrakstīt savu powershell skriptu, kas šo logu atkal un atkal pārlasīs, meklējot, kurus failus vajag lejuplādēt un tad novietot nepieciešamajā repozitorija folderī:

$lastLine = 0

while($true)
{
    $i = 0
    foreach($line in Get-Content "log.txt") 
    {
        if($i -ge $lastLine)
        {
            #Write-Output "$($i): $($line)"
            if($line.StartsWith("Downloading: ") -and !$line.StartsWith("Downloading: file://"))
            {
                $url = $line.Remove(0, 13);
                Write-Output "Getting: $($url)"
   
                $pattern = "repository/public"
                $dest = "... repository taka ..." + $url.Remove(0, $url.IndexOf($pattern) + $pattern.Length).Replace("/", "\")

                $folder = Split-Path -Path $dest
                if(!(Test-Path -Path $folder))
                {
                    New-Item -ItemType Directory -Path $folder
                }

                Invoke-WebRequest -Uri $url -OutFile $dest
            }
        }
        $i += 1
    }
    $lastLine = $i

    Start-Sleep -Seconds 2
}

Lēni, jo jāgaida uz katra faila taimautu, bet beigās visu veiksmīgi novilka un uzstādīja.

 

P.S. Skriptu pieglabāju ar nosaukumu ಠ_ಠ.ps1, kas šķita atbilstoši tam, ko biju radījis.

Trollface smaidiņa ievietotājs Google Hangouts čatos

Nedaudz patestēju tampermonkey Chrome pluginu. Uzrakstīju īsu skriptu, kas aizvieto visus “;7” ar 

Skripts:

// ==UserScript==
// @name        Trollface inserter
// @namespace   https://manas.domas.lv/
// @version     0.1
// @description Replaces ;7 with a small trollface icon in hangouts chats
// @author      Vampire
// @match       https://hangouts.google.com/webchat/*
// @grant       none
// @require     http://code.jquery.com/jquery-latest.js
// ==/UserScript==

// stolen from http://stackoverflow.com/a/12597182
var targetNodes = $('body');
var Observer = window.MutationObserver || window.WebKitMutationObserver;
var myObserver = new Observer(MutationHandler);
var obsConfig = { childList: true, characterData: false, attributes: false, subtree: true };

function AddTrollface(objs)
{
    objs.each(function(index)
    {
        var txt = $(this).html();
        txt = txt.replace(/;7/g, '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAxCAYAAACGYsqsAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuOWwzfk4AABFdSURBVGhDzZoFmJTlFsfX7oQrdosFFl7xqmCggoFeuxULDBAVebBbERULFewWA1RKAXUxMbAvFiqKAYoL7M7XOff3f/1m3GFmdheMe8/znGf6nffU//zP+301CyEroJeib6E/oPWoi4ZohCZommk+Uz3X+/o8QB20Aa1DZ6LT0c/QKegk9Dn0HvRy9CR0N3QtdBH0b5UO6LdLLrlkfNRRR3mDBw92HnnkEXvkyJHu6NGjvXHjxgUvvPBCOH78+HDChAlGee0PGzbMvfTSS92zzz7b7t27t9W3b9+G888/Pzdw4EDr9ttvd2688Ubviiuu8M477zyvZ8+e/uGHH+536dIlaN++fbDqqqvKQQXn5dC30WHoieh66F8me6P2tttu637zzTd+vgnh8/COO+5wMCZ37733Oq+88or7/fffe7lczpo7d67z3Xff+VOmTAnGjh3rP/bYY7knnniinkf7/vvvd++55x7nrrvu0qOHM72nnnrKefzxx2f36NFjRuvWrWe3atVqznLLLacMKTjhA/RMdFn0T5N/oW7Xrl0tz/OizK4SSZIkT6TTCy64wHryySf5mhfr/TiOkx9//DF4++23w+effz5++umnU4xI9fyTTz5J+F5iFlhAwXmhsuqAAw5wF110UZXLLPQU9A+n/UrojI4dO9q+71c09rXXXgtJ0Ya33nrLTdNUr6PbbrvNIpWtBx54wK6trfWJumdZloNjbJxg19XVuR988IFDdFUWOaKYw1G5Z555xnruueccVNH1ed95+OGHrYceesh68MEHbR6Nsq511VVXWWRL/OWXX3oHHXSQzT4V9ZdR1ftCy9AVVlghUpQy+4rCphMZhoEuzkjZmHfLLbdYH330kYtx8eTJkyOMCEhXZ/jw4ZaMYrNK4/izzz4rW29hBOel2dP8yy+/bK+99to+e/4ZFd4ssGyLyqiymmVxH2Mspawiet1111nUaYgx0Q033JC77777/E8//TRAwuwnRaF2o+nTpxc3Wkl++umnRI4BAzxq2yOiDmvm7r77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"></img>');
        $(this).html(txt);
    });
}

function MutationHandler(mutationRecords)
{
    mutationRecords.forEach ( function (mutation)
    {
        if (typeof mutation.addedNodes == "object" && mutation.type == "childList")
        {
            var jq = $(mutation.addedNodes);

            if(jq.find("span.tL8wMe.EMoHub").length > 0)
            {
                setTimeout(function()
                {
                    AddTrollface($("span.tL8wMe.EMoHub"));
                }, 500);
            }
        }
    });
}

$(function()
{
    targetNodes.each(function()
    {
        myObserver.observe(this, obsConfig);
    });
});

Rezultāts:

Trollface transfer