小编Mat*_*rty的帖子

Python 项目代码覆盖率徽章与工作服/github 操作

我正在尝试将代码覆盖率 % 徽章添加到我的存储库 README.md 中

我目前正在使用 Github actions 来自动化我的 pytest 测试。我自己就完成了这个工作,但我一直在努力获得覆盖率%徽章。我正在使用工作服来生成徽章,并且基于它,工作服看起来需要一个 lcov.info 文件。但是当我查看pytest-cov 的报告选项时,我没有看到相应的输出选项。

我尝试生成其他类型(例如 xml)并配置以查找此类型,但它仍然在覆盖文件夹中查找 lcov.info。下面是我当前的 pythonapp.yml 文件。当前失败的步骤是寻找工作服./coverage/lcov.info

任何有关我做错了什么或如何修复的帮助将不胜感激。

name: tests

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.7
      uses: actions/setup-python@v1
      with:
        python-version: 3.7
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
    - name: Lint with flake8
      run: | …
Run Code Online (Sandbox Code Playgroud)

github pytest coveralls pytest-cov github-actions

8
推荐指数
1
解决办法
5350
查看次数

JavaScript舍入函数中的硬编码8191 10485值

我在一些遗留代码中看到了以下(奇怪的)Javascript舍入函数.谷歌搜索后,我可以看到它在网上很多地方出现.但是我无法弄清楚为什么存在硬编码值8191和10485.

有谁知道为什么这些价值被包括在内有任何合理的理由?如果没有,希望我们可以杀死模因!

function roundNumber(num,dec) {
    var newnumber = 0;
    if (num > 8191 && num < 10485) {
        num = num-5000;
        newnumber = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
        newnumber = newnumber+5000;
    } else {
        newnumber = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
    }
    return newnumber;
}
Run Code Online (Sandbox Code Playgroud)

javascript magic-numbers rounding

6
推荐指数
1
解决办法
268
查看次数

Openpyxl max_row 和 max_column 错误地报告了更大的数字

我的查询与作为我正在开发的解析脚本的一部分的函数有关。我正在尝试编写一个python函数来查找与excel中匹配值对应的列号。excel 是使用 openpyxl 即时创建的,它的第一行(从第 3 列开始)标题每跨 4 列合并为一个。在我随后的函数中,我正在解析一些要添加到与匹配标题对应的列中的内容。(附加信息:我正在解析的内容是blast+ 输出。我正在尝试创建一个汇总电子表格,其中每列中的命中名称以及命中、间隙、跨度和身份的子列。前两列是查询重叠群及其长度。 )

我最初为 xlrd 编写了一个类似的函数并且它起作用了。但是当我尝试为 openpyxl 重写它时,我发现 max_row 和 max_col 函数错误地返回了比实际存在的更多的行和列。例如,我有 20 行用于这个试验输入,但它报告为 82。请注意,我手动选择了空行和列,然后右键单击并删除了它们,如本论坛其他地方所建议的。这并没有改变错误。

def find_column_number(x):
    col = 0
    print "maxrow = ", hrsh.max_row
    print "maxcol = ", hrsh.max_column
    for rowz in range(hrsh.max_row):
        print "now the row is ", rowz
        if(rowz > 0): 
            pass
        for colz in range(hrsh.max_column):
            print "now the column is ", colz
            name = (hrsh.cell(row=rowz,column=colz).value)
            if(name == x):
                col = colz
    return col 
Run Code Online (Sandbox Code Playgroud)

max_row 和 max_col 的问题已经在这里讨论过https://bitbucket.org/openpyxl/openpyxl/issues/514/cell-max_row-reports-higher-than-actual我在这里应用了这个建议。但是 …

python excel openpyxl

5
推荐指数
1
解决办法
2万
查看次数

Django Admin:在浏览器中创建用户

我已经设置了 Django (1.8) 管理员以允许超级用户以交互方式创建新用户。我的用户模型是使用自定义的AbstractUser,这意味着我的管理文件如下所示:

\n

管理员.py

\n
from django.contrib import admin\nfrom app.models import CPRUser\n\nclass UserAdmin(admin.ModelAdmin):\n\n    model = CPRUser\n    extra = 1\n\nadmin.site.register(CPRUser, UserAdmin)\n
Run Code Online (Sandbox Code Playgroud)\n

这是模型:

\n
class CPRUser(AbstractUser):\n    student = models.PositiveIntegerField(verbose_name=_("student"),\n                                            default=0,\n                                            blank=True)\n    saved = models.IntegerField(default=0)\n
Run Code Online (Sandbox Code Playgroud)\n

这似乎工作正常,我可以通过管理并设置新用户的密码、用户名和所有其他自定义字段。但是,当我尝试使用新创建的用户登录时,身份验证过程的某些部分失败。我从使用视图auth_views.login和样板 django 登录模板的页面登录。

\n

另一方面,如果我使用django shellmanage.py createsuperuser或在 django shell 中创建一个新用户,这些用户可以正常登录。createuser()这让我怀疑这与密码存储或散列有关 - 目前在管理中我只能输入新用户的密码。事实是,这就是我想要做的。我怎样才能得到这个想要的结果 - 我希望非 IT 经理(我不知道他们的详细信息)能够轻松地在管理员中创建新用户。我意识到这种系统的风险。

\n

这些文档在一个部分中设置此交互式用户创建似乎是矛盾的:

\n

“\xe2\x80\x9cAdd user\xe2\x80\x9d 管理页面与标准管理页面不同,它要求您选择用户名和密码,然后才能编辑用户的其余部分\xe2\x80\x99s领域。”

\n

然后是几段:

\n

“用户密码不显示在管理中(也不存储在数据库中)”

\n

这是我的管理员的屏幕截图:

\n

在此输入图像描述

\n

如何让 Django 接受通过管理员交互创建的用户的登录尝试?

\n

python django django-admin

4
推荐指数
1
解决办法
6767
查看次数

AWS CodeDeploy 部署在 ApplicationStop 事件中失败

我正在尝试使用 EC2 设置从 GitHub 到 AWS 的自动部署。我使用 CodeDeployServiceRole自动策略设置角色

按照教程:使用 AWS CodeDeploy 从 GitHub 部署应用程序后,我的部署在 ApplicationStop 事件中失败,在尝试几分钟后,错误代码为 HEALTH_CONSTRAINT。我不确定如何解决问题/在哪里查看。

aws-code-deploy

2
推荐指数
2
解决办法
831
查看次数

Django 导入导出外键

我正在尝试按照 Django 导入导出库(外键小部件)的指南使用外键导入数据。但我收到以下错误,我尝试添加带有标题名称 id 的附加列,但仍然收到相同的错误。

Errors

    Line number: 1 - 'id'
    None, 46, 19, LSD

    Traceback (most recent call last):
    File "/var/www/vfsc-env/lib/python3.6/site-packages/import_export/resources.py", line 635, in import_row
    instance, new = self.get_or_init_instance(instance_loader, row)
    File "/var/www/vfsc-env/lib/python3.6/site-packages/import_export/resources.py", line 330, in get_or_init_instance
    instance = self.get_instance(instance_loader, row)
    File "/var/www/vfsc-env/lib/python3.6/site-packages/import_export/resources.py", line 318, in get_instance
    self.fields[f] for f in self.get_import_id_fields()
    File "/var/www/vfsc-env/lib/python3.6/site-packages/import_export/resources.py", line 318, in <listcomp>
    self.fields[f] for f in self.get_import_id_fields()
    KeyError: 'id'
Run Code Online (Sandbox Code Playgroud)

这就是我所做的。

class Clockin_Users(models.Model):
    id = models.AutoField(db_column='ID', primary_key=True)  # Field name made lowercase.
    userid …
Run Code Online (Sandbox Code Playgroud)

django django-import-export

2
推荐指数
1
解决办法
2605
查看次数