我有以下select语句,我需要从表tbTasks中对每个任务求和,并通过表tbProjects中的projectId对它们进行分组,以获得如下记录:
ProjectID = 1, ProjectName = 'My Project', TotalTime = 300 //<--sum of each task time
Run Code Online (Sandbox Code Playgroud)
查询如下所示:
SELECT tbTasks.projectId,
SUM(tbTasks.taskTime) AS totalTime,
tbProjects.projectName
FROM tbTasks
INNER JOIN tbProjects ON tbTasks.projectId = tbProjects.projectId
GROUP BY tbTasks.projectId
ORDER BY tbProjects.created DESC
Run Code Online (Sandbox Code Playgroud)
这工作并执行正常,但有一个问题,如果一个项目没有与之关联的任务,那么我根本没有得到任何记录(我想获得projectId,projectName和0或NULL的totalTime).所以,为了正确加入表格,tbProjects SQLite3迫使我以圆形方式进行.
SELECT tbTasks.projectId,
SUM(tbTasks.taskTime) AS totalTime,
tbProjects.projectName
FROM tbTasks LEFT OUTER JOIN tbProjects
ON tbTasks.projectId = tbProjects.projectId
GROUP BY tbTasks.projectId
UNION
SELECT tbProjects.projectId,
SUM(tbTasks.taskTime) AS totalTime,
tbProjects.projectName
FROM tbProjects LEFT OUTER JOIN tbTasks
ON tbProjects.projectId = tbTasks.projectId
GROUP BY tbTasks.projectId …Run Code Online (Sandbox Code Playgroud) 因此,我创建了一个自定义异常,我想以两种不同的方式调用它(if/else 语句和 try/ except 语句)。这是自定义异常:
class CustomException(Exception):
def __init__(self, value=None, *args, **kwargs):
self.parameter = value
for key, value in kwargs.items():
setattr(self, key, value)
for key, value in self.__dict__.items():
print "%s => %s" % ( key, value )
def __str__(self):
return repr(self.parameter)
Run Code Online (Sandbox Code Playgroud)
这是我想要实现自定义异常的方式:
try:
if something:
#make an error
;lsdfj
else:
raise CustomException('this is my custom message', file='somefile.txt', var2='something')
except Exception, e:
raise CustomException(e)
Run Code Online (Sandbox Code Playgroud)
我认为我的问题有两个:
NameError1:当块中抛出的标准时try/except(由于;lsdfj),我想传递CustomExceptions一些额外的参数,例如“文件”,就像if/else实现一样;我该怎么做呢?
2:当引发自定义异常时(由于 if/else 语句为 false),CustomExceptions 类最终会被调用两次,因为我在 if/else …
python error-handling if-statement exception custom-exceptions
我在与生产网络服务器相同的服务器上运行GitLab v5.2(/ var/www中的Document Root).
我正在尝试设置一个标准的GitLab Post-Receive Hook,但我发现很少有关于如何设置脚本来处理发布的JSON数据的信息.我不打算做任何自定义的事情,只是开箱即用,我想在我的网站位置接收后接收数据(请记住在同一台服务器上),然后在收到时从origin-master拉出(提供后接收数据源于推送到主分支).这样,在/ var/www中找到的网站总是与主人相同.
有人可以,从帖子数据中给我一个拉动脚本的例子,或者指向我正确的方向让我创建一个?
GitLab Hook请求示例 - 对于那些没有GitLab实例的人,这里是GitLab Post-Receive JSON数据的样子(直接来自GitLab帮助)
{
"before": "95790bf891e76fee5e1747ab589903a6a1f80f22",
"after": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
"ref": "refs/heads/master",
"user_id": 4,
"user_name": "John Smith",
"repository": {
"name": "Diaspora",
"url": "git@localhost:diaspora.git",
"description": "",
"homepage": "http://localhost/diaspora",
},
"commits": [
{
"id": "b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327",
"message": "Update Catalan translation to e38cb41.",
"timestamp": "2011-12-12T14:27:31+02:00",
"url": "http://localhost/diaspora/commits/b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327",
"author": {
"name": "Jordi Mallach",
"email": "jordi@softcatala.org",
}
},
// ...
{
"id": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
"message": "fixed readme",
"timestamp": "2012-01-03T23:36:29+02:00",
"url": "http://localhost/diaspora/commits/da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
"author": {
"name": "GitLab dev user", …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用type()并分配一个__init__调用的构造函数来动态创建一个类super().__init__(...);但是,当super()被调用时,我收到以下错误:
TypeError: super(type, obj): obj must be an instance or subtype of type
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
class Item():
def __init__(self, name, description, cost, **kwargs):
self.name = name
self.description = description
self.cost = cost
self.kwargs = kwargs
class ItemBase(Item):
def __init__(self, name, description, cost):
super().__init__(name, description, cost)
def __constructor__(self, n, d, c):
super().__init__(name=n, description=d, cost=c)
item = type('Item1', (ItemBase,), {'__init__':__constructor__})
item_instance = item('MyName', 'MyDescription', 'MyCost')
Run Code Online (Sandbox Code Playgroud)
为什么super()在__constructor__方法内部不理解对象参数;我该如何解决?
我正在尝试制作一个php正则表达式从一个字符串中提取多个部分/条件...让我告诉你我在说什么; 这是总文件内容的摘录(真实内容包含数百个这样的分组):
part "C28"
{ type : "1AB010050093",
%cadtype : "1AB010050094",
shapeid : "2_1206",
descr : "4700.0000 pFarad 10.00 % 100.0 - VE5-VS3",
insclass : "CP6A,CP6B",
gentype : "RECT_032_016_006",
machine : "SMT",
%package : "080450E",
%_item_number: "508",
%_Term_Seq : "" }
part "C29"
{ type : "1AB008140029",
shapeid : "2_1206",
descr : "150.0000 pFarad 5.00 % 100.0 Volt NP0 CERAMIC CAPACITOR",
insclass : "CP6A,CP6B",
gentype : "RECT_032_016_006",
machine : "SMT",
%package : "080450E",
%_item_number: "3",
%_Term_Seq : "" }
Run Code Online (Sandbox Code Playgroud)
如您所见,摘录中的数据重复两次.我需要搜索整个文件并提取以下内容: …
当我在IE中执行类似.fadeIn,.fadeOut,.slideUp,.slideDown,.toggle等的jQuery函数时,鼠标总是闪烁,沙漏快速闪烁在光标旁边的视图中.我已经尝试了不同的方法来完全隐藏鼠标,而动画却无济于事,而且在大多数情况下我都不希望这样.
有没有人有其他解决方案来解决这个问题
我正在寻找一种方法来读取位于网络共享上的文件的文件内容.我可以使用共享主机的IP地址和共享文件夹到达该位置,但我不知道执行该file_get_contents的正确命令和语法?FOPEN?
$text = fopen('//128.251.xxx.xxx/Common/sample.txt', 'r');
Run Code Online (Sandbox Code Playgroud)
或类似的东西?
更新*我也无法通过浏览器窗口访问该文件,虽然我知道该文件位于该确切的目录中...
我有一个溢出:自动容器,它跨越文档窗口的 400% 宽度。因此,我的页面上有一个水平滚动条。我在这个容器内也有多个 div,它们的左侧位置不同。当我点击它们时,我需要获得每个容器的左侧位置。我使用 $(this).offset().left 但这给了我容器 div 的左偏移量,它是 0px,我使用了 $(this).position().left 但这给了我同样的东西.. .. 有什么建议?
标记如下所示:
<div id='scroll'>
<div id='content'>
<div class='container' rel='1'></div>
<div class='container' rel='2'></div>
<div class='container' rel='3'></div>
<div class='container' rel='4'></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
css
#scroll{
position:absolute;
width:100%;
height:95%;
overflow:auto;
}
#content{
float:left;
height:100%;
}
.container{
height:100%;
float:left;
}
Run Code Online (Sandbox Code Playgroud)
查询
var iMaxSize = $(".container").size();
$("#content").css({width: $(document).width()*iMaxSize +'px' });
$(".container").css({width: $("#content").width()/iMaxSize +'px' });
Run Code Online (Sandbox Code Playgroud) 我正在创建一个线程管理器类,该类将执行任务作为线程处理并将结果传递给下一个流程步骤。该流程在接收任务的第一次执行时正常工作,但第二次执行失败并出现以下错误:
...python3.8/concurrent/futures/thread.py", line 179, in submit
raise RuntimeError('cannot schedule new futures after shutdown')
RuntimeError: cannot schedule new futures after shutdown
Run Code Online (Sandbox Code Playgroud)
任务来自Cmd.cmdloop用户输入 - 因此,脚本是持久的,不会关闭。相反,run将被多次调用,因为从用户那里收到输入。
我已经实现了一个ThreadPoolExecutor来处理工作负载并尝试按时间顺序收集结果,concurrent.futures.as_completed以便每个项目按照完成的顺序处理到下一步。
run下面的方法非常适合第一次执行,但在第二次执行同一任务(在第一次执行期间成功)时返回错误。
def run ( self, _executor=None, _futures={}, ) -> bool :
task = self.pipeline.get( )
with _executor or self.__default_executor as executor :
_futures = { executor.submit ( task.target.execute, ), }
for future in concurrent.futures.as_completed ( _futures, ) :
print( future.result ( ) )
return True …Run Code Online (Sandbox Code Playgroud) python-multithreading python-3.x threadpoolexecutor concurrent.futures python-3.8
我有一个扩展基类的类。实例化后,我想检查子类是否具有从其基础实现的类之一,但我不确定最好的方法。 hasattr(self, '[method]')如果孩子没有实现,则返回 super 的方法,所以我试图区分两者。
这是一个例子:
class Base :
def __init__ ( self,) :
pass
def fail (self,) :
pass
# Now create the subclass w/o .fail
class Task ( Base ) :
def __init__ ( self, ):
print( hasattr( self, 'fail' ) ) # < returns True
Run Code Online (Sandbox Code Playgroud)
当Task()实例化时,它会打印, True因为Task继承.fail自Base. 但在这种情况下,我想知道Task Does Not Implement .fail,所以我想要False以某种方式返回。看来我正在寻找类似的东西isimplemented( self, 'fail' )。我缺少什么?
python-3.x ×3
file ×2
inheritance ×2
jquery ×2
php ×2
python ×2
superclass ×2
cursor ×1
exception ×1
flicker ×1
git ×1
gitlab ×1
group-by ×1
if-statement ×1
javascript ×1
json ×1
object ×1
oop ×1
overflow ×1
python-3.8 ×1
regex ×1
sql ×1
sqlite ×1
union ×1
webhooks ×1