小编sad*_*ave的帖子

SQLite3使用LEFT JOIN和UNION模拟RIGHT OUTER JOIN

我有以下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)

sql sqlite union group-by full-outer-join

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

python 从 if 语句和 try-except 调用自定义异常

因此,我创建了一个自定义异常,我想以两种不同的方式调用它(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

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

GitLab 5.2 Post-Receive WebHook

我在与生产网络服务器相同的服务器上运行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)

git json webhooks git-post-receive gitlab

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

使用 super 的动态类继承

我正在尝试使用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__方法内部不理解对象参数;我该如何解决?

inheritance object superclass python-3.x

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

php regex从字符串中提取多个匹配项

我正在尝试制作一个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)

如您所见,摘录中的数据重复两次.我需要搜索整个文件并提取以下内容: …

php regex file

7
推荐指数
1
解决办法
5584
查看次数

IE中的jQuery Mouse Flicker

当我在IE中执行类似.fadeIn,.fadeOut,.slideUp,.slideDown,.toggle等的jQuery函数时,鼠标总是闪烁,沙漏快速闪烁在光标旁边的视图中.我已经尝试了不同的方法来完全隐藏鼠标,而动画却无济于事,而且在大多数情况下我都不希望这样.

有没有人有其他解决方案来解决这个问题

jquery internet-explorer cursor flicker

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

Php读取网络共享文件的文件内容

我正在寻找一种方法来读取位于网络共享上的文件的文件内容.我可以使用共享主机的IP地址和共享文件夹到达该位置,但我不知道执行该file_get_contents的正确命令和语法?FOPEN?

$text = fopen('//128.251.xxx.xxx/Common/sample.txt', 'r');
Run Code Online (Sandbox Code Playgroud)

或类似的东西?

更新*我也无法通过浏览器窗口访问该文件,虽然我知道该文件位于该确切的目录中...

php file network-share

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

javascript jquery 在水平滚动容器中查找元素的左侧位置

我有一个溢出:自动容器,它跨越文档窗口的 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)

javascript jquery overflow horizontal-scrolling

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

带有上下文管理器的 ThreadPoolExecutor“关闭后无法安排新的期货”

我正在创建一个线程管理器类,该类将执行任务作为线程处理并将结果传递给下一个流程步骤。该流程在接收任务的第一次执行时正常工作,但第二次执行失败并出现以下错误:

...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

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

确定子类是否具有用 Python 实现的基类方法

我有一个扩展基类的类。实例化后,我想检查子类是否具有从其基础实现的类之一,但我不确定最好的方法。 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继承.failBase. 但在这种情况下,我想知道Task Does Not Implement .fail,所以我想要False以某种方式返回。看来我正在寻找类似的东西isimplemented( self, 'fail' )。我缺少什么?

python oop inheritance superclass python-3.x

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