THIS GIST WAS MOVED TO TERMSTANDARD/COLORS REPOSITORY.
PLEASE ASK YOUR QUESTIONS OR ADD ANY SUGGESTIONS AS A REPOSITORY ISSUES OR PULL REQUESTS INSTEAD!
| # Check these threads before proceeding: | |
| # https://github.com/microsoft/WSL/discussions/5857 | |
| # https://github.com/microsoft/WSL/issues/5821 | |
| if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) { | |
| $CmdLine = "-File `"" + $MyInvocation.MyCommand.Path + "`" " + $MyInvocation.UnboundArguments | |
| Start-Process -FilePath PowerShell.exe -Verb Runas -ArgumentList $CmdLine | |
| Exit | |
| } | |
| # Restart the Host Network Service | |
| Restart-Service -Force -Name hns |
| # based on: http://stackoverflow.com/questions/1015307/python-bind-an-unbound-method#comment8431145_1015405 | |
| def bind(instance, func, as_name): | |
| """ Turn a function to a bound method on an instance | |
| .. doctest:: | |
| >>> class Foo(object): | |
| ... def __init__(self, x, y): | |
| ... self.x = x | |
| ... self.y = y |
THIS GIST WAS MOVED TO TERMSTANDARD/COLORS REPOSITORY.
PLEASE ASK YOUR QUESTIONS OR ADD ANY SUGGESTIONS AS A REPOSITORY ISSUES OR PULL REQUESTS INSTEAD!
Problem: When linking to the raw version of a gist, the link changes with each revision.
Solution:
To return the first file from a gist: https://gist.github.com/[gist_user]/[gist_id]/raw/
To get a file from multi–file gist: https://gist.github.com/[gist_user]/[gist_id]/raw/[file_name]
| from functools import wraps | |
| from timeit import default_timer | |
| import gevent | |
| from gevent.queue import Queue | |
| def gevent_throttle(calls_per_sec=0): | |
| """Decorates a Greenlet function for throttling.""" | |
| interval = 1. / calls_per_sec if calls_per_sec else 0 | |
| def decorate(func): | |
| blocked = [False] # has to be a list to not get localised inside the while loop |
These steps show two less common interactions with git to extract a single file which is inside a subfolder from a git repository. These steps essentially reduce the repository to just the desired files and should performed on a copy of the original repository (1.).
First the repository is reduced to just the subfolder containing the files in question using git filter-branch --subdirectory-filter (2.) which is a useful step by itself if just a subfolder needs to be extracted. This step moves the desired files to the top level of the repository.
Finally all remaining files are listed using git ls, the files to keep are removed from that using grep -v and the resulting list is passed to git rm which is invoked by git filter-branch --index-filter (3.). A bit convoluted but it does the trick.