当前位置:首页 > 下载列表 > mvr-snippets

mvr-snippets 0.0.4

新的介绍内容:mvr-snippets是一款专为CiscoNSOMVR-v2框架设计的代码片段生成工具,旨在帮助开发者快速生成所需的代码片段,提升开发效率。功能亮点:生成MVR-v2代码片段:mvr-snippets能够生成MVR-v2框架所需的各种代码片段,简化开发过程。主要功能:MVR导入(前缀:mvrimport):自动生成必要的父类导入代码,确保工作流代码的正确性。fromtypin
分类:   下载/工具 · 工具软件 来源:  点击进入 版本:  0.0.4
日期:  2025-07-12 人气:   大小:  
标签:   python __web_extension snippet
点击下载 相关下载
功能介绍

新的介绍内容:

mvr-snippets是一款专为Cisco NSO MVR-v2框架设计的代码片段生成工具,旨在帮助开发者快速生成所需的代码片段,提升开发效率。

功能亮点:

  • 生成MVR-v2代码片段:mvr-snippets能够生成MVR-v2框架所需的各种代码片段,简化开发过程。

主要功能:

  • MVR导入(前缀:mvrimport):自动生成必要的父类导入代码,确保工作流代码的正确性。

    from typing import Dict, List, Union
    from mvr_v2.common.utils import (Correlator, Dict2, Dx, MvrInit, MvrWf,
                                     TemplateEngine, XQuery)
  • MVR主工作流类(前缀:mvrwf):定义主工作流类,包含数据提取、关联和模板应用的核心逻辑。

    from typing import Dict, List, Union
    from mvr_v2.common.utils import (Correlator, Dict2, Dx, MvrInit, MvrWf,
                                     TemplateEngine, XQuery)
    
    class Main(MvrWf):
        """
        Main Execution Flow. This is where the logic resides.
        """
    
        def execute(self, _input_obj):
            """
            This method call triggers the execution
            """
            _m = MvrInit()
            input_obj = _m >> _input_obj
            return _m
  • 创建Dx类(前缀:mvrdx):用于数据提取的类,支持多参数配置。

    class Classname(Dx):
        def __init__(self, *args) -> None:
            pass
    
        def data_source(self, *args) -> XQuery:
            self.q.xpath = f"/devices/device[name={arg1!r}]/config/ip/vrf[name={arg2!r}]"
            self.q.params = {
                "param-name": "relative-path-to-desired-node",
            }
            return self.q
    
        def compute_vars(self, _p: Dict2) -> Union[Dict, Dict2]:
            return _p
    
        def devices_to_be_synced(self, _p: Dict2) -> List:
            return []
  • 创建Correlator类(前缀:mvrcorrelator):用于数据关联的类,处理多个数据集并生成有效载荷实例。

    class Classname(Correlator):
        def execute(self, data):
            payload = []
            for _i in data.primary_data_set:
                _instance = self.payload_instance()
                # list comprehension filtering 
                data_set_1 = []
                data_set_2 = []
                data_set_3 = []
                # the add method accepts a Dict, Dict2 or a List object
                _instance.add(_i)
                _instance.add(data_set_1)
                _instance.add(data_set_2)
                _instance.add(data_set_3)
                # or
                # _instance.add_multiple([_i,data_set_1,data_set_2,data_set_3])
                payload.append(_instance)
            return payload
  • 创建TemplateEngine类(前缀:mvrtemplate):用于模板引擎的类,处理数据格式化和模板应用。

    class Classname(TemplateEngine):
        def settings(self):
            self.templates = ["example"]
    
        def format_single_commit_comment(self, _input) -> str:
            # return _input.device_name
            return 'test'
    
        def format_splitted_commit_comment(self, _single_payload_instance) -> str:
            #return _single_payload_instance.interface_id
            return 'test'

发布说明:

  • 版本0.0.4:mvr-v2代码片段的初始发布版本,提供基础的代码生成功能。
版本声明
本文转载于:https://marketplace.visualstudio.com/items?itemName=leninkhaidem.mvr-snippets 如有侵犯,请联系study_golang@163.com删除
查看更多
课程推荐
  • Golang云原生架构师课程
    Golang云原生架构师课程
    Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
    204次学习
  • MySQL数据管理之备份恢复案例解析视频教程
    MySQL数据管理之备份恢复案例解析视频教程
    《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
    163次学习
  • MySQL索引优化解决方案
    MySQL索引优化解决方案
    本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
    182次学习
  • 极客学院Docker视频教程
    极客学院Docker视频教程
    Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
    243次学习
  • Golang进阶实战编程
    Golang进阶实战编程
    本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
    128次学习
  • JavaScript极速入门
    JavaScript极速入门
    本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......
    431次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码