Best Python code snippet using localstack_python
buffs.py
Source:buffs.py  
...162        self.src_trackers[0] = [0, 0, encounter_start]163        164        self.data = []165                166    def apply_change(self, time, new_count, src_instid):167        tracker = self.src_trackers[src_instid]168        duration = time - tracker[2]169        if duration > 0:170            self.data.append([tracker[2], duration, self.buff_type.code, src_instid, self.dst_instid, tracker[1]])171        tracker[1] = new_count 172        tracker[2] = time173    def add_event(self, event):174        if event.time != self.current_time:175            self.simulate_to_time(event.time)176        if event.is_buffremove:177            self.clear(event.time)178        elif event.is_offcycle:179            if self.last_extend_time != event.time:180                for stack in self.stack_durations:181                    stack[0] += event.value182                    if stack[1] == 0:183                        stack[2] += event.value;184                self.last_extend_time = event.time;185        elif len(self.stack_durations) < self.buff_type.capacity:186            end_time = event.time + event.value;187            self.stack_durations.append([end_time, event.ult_src_instid, end_time])188            self.stack_durations.sort()189            self.apply_change(event.time, self.src_trackers[event.ult_src_instid][1] + 1, event.ult_src_instid)190        elif self.stack_durations[0][0] < event.time + event.value:191            old_src = self.stack_durations[0][1]192            if old_src != event.ult_src_instid:193                self.apply_change(event.time, self.src_trackers[old_src][1] - 1, old_src)194                self.apply_change(event.time, self.src_trackers[event.ult_src_instid][1] + 1, event.ult_src_instid)195            end_time = event.time + event.value;196            self.stack_durations[0] = [end_time, event.ult_src_instid, end_time]197            self.stack_durations.sort()            198    def clear(self, time):199        if len(self.stack_durations) > 0:200            self.stack_durations = []201            for x in self.src_trackers:202                self.apply_change(time, 0, x)203                                  204    def simulate_to_time(self, new_time):205        self.stack_durations.sort(key=lambda x: x[2])206        while (len(self.stack_durations) > 0) and (self.stack_durations[0][2] <= new_time):207            if self.stack_durations[0][1] != 0:208                self.apply_change(self.stack_durations[0][2], self.src_trackers[self.stack_durations[0][1]][1] - 1, self.stack_durations[0][1])209                self.apply_change(self.stack_durations[0][2], self.src_trackers[0][1] + 1, 0)210                self.stack_durations[0][1] = 0211                self.stack_durations[0][2] = self.stack_durations[0][0]212                self.stack_durations.sort(key=lambda x: x[2])213            else:214                self.apply_change(self.stack_durations[0][0], self.src_trackers[0][1] - 1, 0)215                del self.stack_durations[0]                       216        self.stack_durations.sort()217#         while (len(self.stack_durations) > 0) and (self.stack_durations[0][0] <= new_time):218#             self.apply_change(self.stack_durations[0][0], self.src_trackers[self.stack_durations[0][1]][1] - 1, self.stack_durations[0][1])219#             del self.stack_durations[0]   220        self.current_time = new_time221                222    def end_track(self, time):223        end_time = int(time)224        self.simulate_to_time(end_time)225        self.clear(time)226            227class BuffTrackDuration:228    def __init__(self, buff_type, dst_instid, src_instids, encounter_start, encounter_end):229        self.buff_type = buff_type230        self.dst_instid = dst_instid231        self.stack_durations = []232        self.data = []233        self.current_time = encounter_start234        self.current_src = -1235        self.src_trackers = {}236        for src in src_instids:237            self.src_trackers[src] = [src, encounter_start, 0]238        self.src_trackers[0] = [0, encounter_start, 0]239        240    def apply_change(self, time, src_instid):241        tracker = self.src_trackers[src_instid]242        duration = time - tracker[1]243        count = 0244        if len(self.stack_durations) > 0 and self.stack_durations[0][1] == src_instid:245            count = 1246        if duration > 0:247            self.data.append([tracker[1], duration, self.buff_type.code, src_instid, self.dst_instid, tracker[2]])248        tracker[1] = time249        tracker[2] = count250        251    def add_event(self, event):252        if event.time != self.current_time:253            self.simulate(event.time - self.current_time)254        if event.is_buffremove:255            self.clear(event.time)256        elif event.is_offcycle:257            if len(self.stack_durations) > 0:258                self.stack_durations[0][0] += event.value259                if self.stack_durations[0][1] != 0:260                    self.stack_durations[0][2] += event.value261                self.stack_durations.sort()262                if self.stack_durations[0][1] != self.current_src:263                    self.apply_change(event.time, self.current_src)264                    self.apply_change(event.time, self.stack_durations[0][1])265                    self.current_src = self.stack_durations[0][1]266        elif len(self.stack_durations) < self.buff_type.capacity:267            self.stack_durations.append([event.value, event.ult_src_instid, 0])268            if len(self.stack_durations) == 1:269                self.apply_change(event.time, self.stack_durations[0][1])270                self.current_src = self.stack_durations[0][1]271            else:272                self.stack_durations.sort()273                if self.stack_durations[0][1] != self.current_src:274                    self.apply_change(event.time, self.current_src)275                    self.apply_change(event.time, self.stack_durations[0][1])276                    self.current_src = self.stack_durations[0][1]277                    278        elif self.stack_durations[0][0] < event.value:279            self.stack_durations[0] = [event.value, event.ult_src_instid, 0]280            self.stack_durations.sort()281            if self.stack_durations[0][1] != self.current_src:282                self.apply_change(event.time, self.current_src)283                self.apply_change(event.time, self.stack_durations[0][1])           284                self.current_src = self.stack_durations[0][1]285                286    def simulate(self, delta_time):287        remaining_delta = delta_time288        while len(self.stack_durations) > 0 and self.stack_durations[0][0] <= remaining_delta:289            if self.stack_durations[0][1] != 0 and self.stack_durations[0][2] > 0:290                self.current_time += self.stack_durations[0][0] - self.stack_durations[0][2]291                remaining_delta -= self.stack_durations[0][0] - self.stack_durations[0][2]292                self.stack_durations[0][0] = self.stack_durations[0][2]293                self.stack_durations[0][1] = 0294                self.apply_change(self.current_time, self.current_src)295                self.apply_change(self.current_time, 0)296                self.current_src = 0;297                298            self.current_time += self.stack_durations[0][0]299            remaining_delta -= self.stack_durations[0][0]300            del self.stack_durations[0]301            if len(self.stack_durations) == 0:302                self.apply_change(self.current_time, self.current_src)303                self.current_src = -1304            elif self.current_src != self.stack_durations[0][1]:305                self.apply_change(self.current_time, self.current_src)306                self.apply_change(self.current_time, self.stack_durations[0][1])307                self.current_src = self.stack_durations[0][1]308        self.current_time += remaining_delta309        if len(self.stack_durations) > 0:310            if self.stack_durations[0][1] != 0 and self.stack_durations[0][0] - self.stack_durations[0][2] < remaining_delta:311                self.stack_durations[0][1] = 0312                self.apply_change(self.current_time, self.current_src)313                self.apply_change(self.current_time, 0)314                self.current_src = 0;315                316            self.stack_durations[0][0] -= remaining_delta317    def clear(self, time):318        if len(self.stack_durations) > 0:319            self.stack_durations = []320            if self.current_src != -1:321                self.apply_change(time, self.current_src)322            self.current_src = -1323            324    def end_track(self, time):325        end_time = int(time)326        self.simulate(end_time - self.current_time)327        for x in self.src_trackers:328            self.apply_change(time, x)329            330class BuffPreprocessor:331    def process_events(self, start_time, end_time, skills, players, player_events):332        def process_buff_events(buff_type, buff_events, raw_buff_data):333            for player in list(players.index):334                relevent_events = buff_events[buff_events['dst_instid'] == player]335                agent_start_time = self.get_time(player_events[player_events['src_instid'] == player], parser.StateChange.SPAWN, start_time)336                agent_end_time = self.get_time(player_events[player_events['src_instid'] == player], parser.StateChange.DESPAWN, end_time)337                if len(relevent_events) > 0:338                    if relevent_events.time.min() < agent_start_time:339                        agent_start_time = start_time340                    if relevent_events.time.max() > agent_end_time:341                        agent_end_time = end_time342                if (buff_type.stacking == StackType.INTENSITY):...mac_sysctl.py
Source:mac_sysctl.py  
1# -*- coding: utf-8 -*-2'''3Module for viewing and modifying sysctl parameters4'''5from __future__ import absolute_import6# Import python libs7import os8# Import salt libs9import salt.utils.files10from salt.exceptions import CommandExecutionError11# Define the module's virtual name12__virtualname__ = 'sysctl'13def __virtual__():14    '''15    Only run on Darwin (macOS) systems16    '''17    if __grains__['os'] == 'MacOS':18        return __virtualname__19    return (False, 'The darwin_sysctl execution module cannot be loaded: '20                   'Only available on macOS systems.')21def show(config_file=False):22    '''23    Return a list of sysctl parameters for this minion24    CLI Example:25    .. code-block:: bash26        salt '*' sysctl.show27    '''28    roots = (29        'audit',30        'debug',31        'hw',32        'hw',33        'kern',34        'machdep',35        'net',36        'net',37        'security',38        'user',39        'vfs',40        'vm',41    )42    cmd = 'sysctl -a'43    ret = {}44    out = __salt__['cmd.run'](cmd, output_loglevel='trace', python_shell=False)45    comps = ['']46    for line in out.splitlines():47        # This might need to be converted to a regex, and more, as sysctl output48        # can for some reason contain entries such as:49        #50        # user.tzname_max = 25551        # kern.clockrate: hz = 100, tick = 10000, profhz = 100, stathz = 10052        # kern.clockrate: {hz = 100, tick = 10000, tickadj = 2, profhz = 100,53        #                 stathz = 100}54        #55        # Yes. That's two `kern.clockrate`.56        #57        if any([line.startswith('{0}.'.format(root)) for root in roots]):58            comps = line.split(': ' if ': ' in line else ' = ', 1)59            if len(comps) == 2:60                ret[comps[0]] = comps[1]61            else:62                ret[comps[0]] = ''63        elif comps[0]:64            ret[comps[0]] += '{0}\n'.format(line)65        else:66            continue67    return ret68def get(name):69    '''70    Return a single sysctl parameter for this minion71    name72        The name of the sysctl value to display.73    CLI Example:74    .. code-block:: bash75        salt '*' sysctl.get hw.physmem76    '''77    cmd = 'sysctl -n {0}'.format(name)78    out = __salt__['cmd.run'](cmd, python_shell=False)79    return out80def assign(name, value):81    '''82    Assign a single sysctl parameter for this minion83    name84        The name of the sysctl value to edit.85    value86        The sysctl value to apply.87    CLI Example:88    .. code-block:: bash89        salt '*' sysctl.assign net.inet.icmp.icmplim 5090    '''91    ret = {}92    cmd = 'sysctl -w {0}="{1}"'.format(name, value)93    data = __salt__['cmd.run_all'](cmd, python_shell=False)94    if data['retcode'] != 0:95        raise CommandExecutionError('sysctl failed: {0}'.format(96            data['stderr']))97    new_name, new_value = data['stdout'].split(':', 1)98    ret[new_name] = new_value.split(' -> ')[-1]99    return ret100def persist(name, value, config='/etc/sysctl.conf', apply_change=False):101    '''102    Assign and persist a simple sysctl parameter for this minion103    name104        The name of the sysctl value to edit.105    value106        The sysctl value to apply.107    config108        The location of the sysctl configuration file.109    apply_change110        Default is False; Default behavior only creates or edits111        the sysctl.conf file. If apply is set to True, the changes are112        applied to the system.113    CLI Example:114    .. code-block:: bash115        salt '*' sysctl.persist net.inet.icmp.icmplim 50116        salt '*' sysctl.persist coretemp_load NO config=/etc/sysctl.conf117    '''118    nlines = []119    edited = False120    value = str(value)121    # If the sysctl.conf is not present, add it122    if not os.path.isfile(config):123        try:124            with salt.utils.files.fopen(config, 'w+') as _fh:125                _fh.write('#\n# Kernel sysctl configuration\n#\n')126        except (IOError, OSError):127            msg = 'Could not write to file: {0}'128            raise CommandExecutionError(msg.format(config))129    with salt.utils.files.fopen(config, 'r') as ifile:130        for line in ifile:131            if not line.startswith('{0}='.format(name)):132                nlines.append(line)133                continue134            else:135                key, rest = line.split('=', 1)136                if rest.startswith('"'):137                    _, rest_v, rest = rest.split('"', 2)138                elif rest.startswith('\''):139                    _, rest_v, rest = rest.split('\'', 2)140                else:141                    rest_v = rest.split()[0]142                    rest = rest[len(rest_v):]143                if rest_v == value:144                    return 'Already set'145                new_line = '{0}={1}'.format(name, value)146                nlines.append(new_line)147                nlines.append('\n')148                edited = True149    if not edited:150        nlines.append('{0}={1}'.format(name, value))151        nlines.append('\n')152    with salt.utils.files.fopen(config, 'w+') as ofile:153        ofile.writelines(nlines)154    # If apply_change=True, apply edits to system155    if apply_change is True:156        assign(name, value)157        return 'Updated and applied'...test_document.py
Source:test_document.py  
...31    # Past end of file32    assert doc.word_at_position({'line': 4, 'character': 0}) == ''33def test_document_empty_edit(workspace):34    doc = Document('file:///uri', workspace, '')35    doc.apply_change({36        'range': {37            'start': {'line': 0, 'character': 0},38            'end': {'line': 0, 'character': 0}39        },40        'text': 'f'41    })42    assert doc.source == 'f'43def test_document_line_edit(workspace):44    doc = Document('file:///uri', workspace, 'itshelloworld')45    doc.apply_change({46        'text': 'goodbye',47        'range': {48            'start': {'line': 0, 'character': 3},49            'end': {'line': 0, 'character': 8}50        }51    })52    assert doc.source == 'itsgoodbyeworld'53def test_document_multiline_edit(workspace):54    old = [55        "def hello(a, b):\n",56        "    print a\n",57        "    print b\n"58    ]59    doc = Document('file:///uri', workspace, ''.join(old))60    doc.apply_change({'text': 'print a, b', 'range': {61        'start': {'line': 1, 'character': 4},62        'end': {'line': 2, 'character': 11}63    }})64    assert doc.lines == [65        "def hello(a, b):\n",66        "    print a, b\n"67    ]68def test_document_end_of_file_edit(workspace):69    old = [70        "print 'a'\n",71        "print 'b'\n"72    ]73    doc = Document('file:///uri', workspace, ''.join(old))74    doc.apply_change({'text': 'o', 'range': {75        'start': {'line': 2, 'character': 0},76        'end': {'line': 2, 'character': 0}77    }})78    assert doc.lines == [79        "print 'a'\n",80        "print 'b'\n",81        "o",...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
