Skip to content

Instantly share code, notes, and snippets.

@maximpertsov
maximpertsov / viam-python-sessions-testing.py
Created May 25, 2023 21:13
Test script for viam python sdk sessions
import asyncio
from aioconsole import ainput
from viam.components.base import Base
from viam.logging import DEBUG
from viam.proto.common import Vector3
from viam.robot.client import RobotClient
from viam.rpc.dial import Credentials, DialOptions
@maximpertsov
maximpertsov / optparse_to_argparse.sh
Created January 8, 2018 21:40
Partially convert Django management commands from optparse style to argparse style
ag -l make_option | while read -r FILE; do cat $FILE | sed -i -e '/option_list/d' -e '/import make_option/d' -e 's/ make_option/parser.add_argument/g' -e 's/),\s*$/)/g' -e '0,/^\s*)\(,\|\)\s*$/{/^\s*)\(,\|\)\s*$/d}' -e '/args = "/d' $FILE; done
@maximpertsov
maximpertsov / split_files.py
Last active April 8, 2020 00:14
Split a text file into several smaller files
#!/usr/local/bin/python
from __future__ import division
from argparse import ArgumentParser, Action
from os.path import splitext
from itertools import izip_longest
class FileSplitter(object):
@maximpertsov
maximpertsov / ConcatRangeIf.bas
Last active January 23, 2016 18:21
Concatenate a range of Excel cells into a single string specified by a given criteria or condition
Function ConcatRangeIf(Rc As Range, Criterion As String, Rv As Range, Optional Delimiter As String)
' Concatenate cells into a single string specified by a given criteria or condition
Dim C As Collection: Set C = New Collection ' Collection of values to be included in final string
Dim Ac() As Variant: Ac = Rc ' Criterias
Dim Av() As Variant: Av = Rv ' Values
Dim i As Long
Dim j As Long
For i = LBound(Ac, 1) To UBound(Ac, 1)
@maximpertsov
maximpertsov / CollectionToArray.bas
Last active January 21, 2016 20:10
Convert a VBA collection to an array
Function CollectionToArray(C As Collection, Optional StartIdx As Long, Optional Size As Long) As Variant
' Convert a collection into an array
Dim A() As Variant
Dim Ci As Variant ' Collection element
Dim i As Long
' Make sure Size is not less than collection size
If Size < C.Count Then Size = C.Count
@maximpertsov
maximpertsov / Map.bas
Last active May 3, 2023 06:23
VBA Array map function
Function Map(F As String, ByVal A As Variant) As Variant
' Map function F across 1-Dimensional Array
Dim i As Long
For i = LBound(A) To UBound(A)
A(i) = Application.Run(F, A(i))
Next i
Map = A
@maximpertsov
maximpertsov / CollectionToString.bas
Last active August 22, 2023 15:46
Join VBA collection items into a string
Function CollectionToString(C As Collection, Optional Delimiter As String, Optional TrailingDelimiter As Boolean) As String
' Join a collection into a single string
' OPTIONAL: choose delimiter and specify whether to include a trailing delimiter (e.g. "a;b;c" vs "a;b;c;", where ";" is the delimiter)
' Transfer collection to array
CollectionToString = Join(CollectionToArray(C, 0, C.Count + IIf(TrailingDelimiter, 1, 0)), Delimiter) ' See Referenced Gists below
End Function
Function CollectionToArray(C As Collection, Optional StartIdx As Long, Optional Size As Long) As Variant